如何使用数据框的值作为函数中的变量来创建不同的列

时间:2016-08-07 02:41:26

标签: python pandas numpy scipy

我有一个数据框,我想用它作为" x"在函数0.00459652*np.exp(4.5*x)+0.000984312中 这是我的代码

df=pd.read_csv('F:/Data32.csv')
df2=df['Temperature']
x=df2.values.tolist()
test=df2.apply(0.00459652*np.exp(4.5*x)+0.000984312)
test

我一直收到错误     TypeError:不能将序列乘以非int类型' float'

1 个答案:

答案 0 :(得分:2)

如果您要将功能0.00459652*np.exp(4.5*x)+0.000984312应用于Temperature列中的每个值,只需将该列放在x位置:

test = 0.00459652*np.exp(4.5*df['Temperature'])+0.000984312

您得到该错误的原因是x是一个python列表,不能乘以浮点数(在本例中为4.5)。但是df['Temperature']可以(它是一只熊猫。系列)

此外,0.00459652*np.exp(4.5*x)+0.000984312不是python函数。您需要lambda x : 0.00459652*np.exp(4.5*x)+0.000984312