【发布时间】:2019-08-21 17:26:36
【问题描述】:
我正在尝试计算我有不同 dtype 的列,因为这会产生一个错误,我希望它们都具有相同的 dtype。
Question object
Very likely object
Quite likely float64
Slightly likely object
Not very likely float64
Very unlikely object
Total float64
dtype: object
我尝试在 lambda 函数中使用 float(x)。
propensity = pd.read_excel(raw_data,'Propensity to buy')
propensity = propensity[['Question','Very likely','Quite likely','Slightly likely','Not very likely',
'Very unlikely','Total']]
propensity['MEAN'] =
sum(
[
propensity['Very likely'].apply(lambda float(x): x*4),
propensity['Quite likely'].apply(lambda float(x): x*3),
propensity['Slightly likely'].apply(lambda float(x): x*2),
propensity['Not very likely'].apply(lambda float(x): x*1),
propensity['Very unlikely'].apply(lambda float(x): x*0)
]
)
得到的结果是SyntaxError: invalid syntax
【问题讨论】:
-
lambda <argument_names>: <do_work>你的语法没有意义,因为你试图在“错误的一面”上“工作”。话虽如此,您应该正在探索如何更改熊猫列的类型,您不需要使用.apply
标签: python pandas dataframe multiple-columns dtype