在python中的数据透视表中创建一个计算列

时间:2017-11-02 19:22:49

标签: python pandas

我需要在python的pivot表中添加新的计算列。该列的公式应如下所示:

math.log10(2.718281+(table['eventid']+table['nkill']+table['nwound'])/3).

我每次都会收到错误。 请你帮我解决这个问题吗?谢谢!

我添加了数据透视表的一部分。它是按国家和年份建造的三个变量:eventid,nkill和nwound。

eventid nkill   nwound
Crime   Crime   Crime   Crime
country_txt iyear           
Afghanistan 1995    1   0.000000    0.000000
2001    2   1.500000    0.500000
2002    6   0.833333    0.800000
2003    36  2.117647    2.968750
2004    28  3.222222    2.538462

1 个答案:

答案 0 :(得分:0)

IIUC

因为您没有显示错误代码 ,但是,根据我的理解,通常 两种类型,第一个是int {float,由.astype(float)覆盖,第二个索引在分配新列时不匹配,由.values覆盖,请注意我使用.mean(1)来获取平均值排。

table['New']=np.log10(table.mean(1).astype(float).add(2.718281)).values