如何使用熊猫在数据透视表中添加计算列?

rangasayee

我正在使用pandas 0.16.0和numpy 1.9.2,我做了以下操作在数据透视表中添加了计算字段(列)

如下设置数据框,

df = pd.DataFrame({'A' : ['one', 'one', 'two', 'three'] * 6, 'B' : ['A', 'B', 'C'] * 8, 'C' : ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4, 'D' : np.random.randn(24), 'E' : np.random.randn(24), 'F' : [datetime.datetime(2013, i, 1) for i in range(1, 13)] + [datetime.datetime(2013, i, 15) for i in range(1, 13)]})

如下所示旋转数据框,

df1 = df.pivot_table(values=['D'],index=['A'],columns=['C'],aggfunc=np.sum,margins=False)

尝试如下添加计算字段,但出现错误(请参见下文),

df1['D2'] = df1['D'] * 2

错误,

ValueError: Wrong number of items passed 2, placement implies 1
底漆

这是因为您在“数据透视表”数据框中有一个层次索引(即MultiIndex)作为列。如果您打印出的结果,df1['D'] * 2您会注意到您会看到两列:

C        bar     foo
A                   
one   -3.163 -10.478
three -2.988   1.418
two   -2.218   3.405

因此,将其放回去,df1您需要提供两列以将其分配给:

df1[[('D2','bar'), ('D2','foo')]] = df1['D'] * 2

产生:

           D            D2        
C        bar    foo    bar     foo
A                                 
one   -1.581 -5.239 -3.163 -10.478
three -1.494  0.709 -2.988   1.418
two   -1.109  1.703 -2.218   3.405

更通用的方法:

new_cols = pd.MultiIndex.from_product(('D2', df1.D.columns))
df1[new_cols] = df1.D * 2

您可以在文档中找到有关如何处理MultiIndex的更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据原始表中未使用的列,在数据透视后添加计算列

来自分类Dev

如何在数据透视表中添加计算出的比率?

来自分类Dev

在数据透视表中添加计算字段并引用数据透视表的单元格

来自分类Dev

使用熊猫添加计算列

来自分类Dev

如何在数据透视表中查找列的位置

来自分类Dev

使用多个列在数据透视表中建立索引

来自分类Dev

如何使用熊猫将新列添加到数据透视表

来自分类Dev

如何获取Excel数据透视表中的行数以在数据透视表之外使用?

来自分类Dev

如何在熊猫中创建多列数据透视表?

来自分类Dev

在数据透视表熊猫中用0填充列

来自分类Dev

如何使用计算列创建数据透视表?

来自分类Dev

向 Power BI 中的表添加计算列

来自分类Dev

在熊猫中添加计算的行

来自分类Dev

如何使用熊猫(不指定列名)在数据框中添加空列?

来自分类Dev

在数据透视表中添加缺少的日期

来自分类Dev

熊猫计算比率作为数据透视表中的值

来自分类常见问题

如何在数据框中按列分组并在循环中创建数据透视表

来自分类Dev

如何在数据框中按列分组并在循环中创建数据透视表

来自分类Dev

如何在数据透视表中按字母数字顺序对列数据进行排序?

来自分类Dev

将列添加到数据透视表(熊猫)

来自分类Dev

使用计算的字段在数据透视中更正总计

来自分类Dev

在数据框中的特定行上执行计算,并使用结果执行附加计算

来自分类Dev

将计算列添加到数据透视表

来自分类Dev

如何在数据透视表的右列中获取值?

来自分类Dev

如何在数据透视表中按天和月对以小时为单位的列进行分组?

来自分类Dev

如何使用连接和数据透视表以特定形式表示熊猫数据框中的数据

来自分类Dev

R XTS如何添加计算列

来自分类Dev

如何获取熊猫数据框数据透视表中列的总价值总和?

来自分类Dev

如何使用对象的大小在数据表中动态添加列

Related 相关文章

  1. 1

    根据原始表中未使用的列,在数据透视后添加计算列

  2. 2

    如何在数据透视表中添加计算出的比率?

  3. 3

    在数据透视表中添加计算字段并引用数据透视表的单元格

  4. 4

    使用熊猫添加计算列

  5. 5

    如何在数据透视表中查找列的位置

  6. 6

    使用多个列在数据透视表中建立索引

  7. 7

    如何使用熊猫将新列添加到数据透视表

  8. 8

    如何获取Excel数据透视表中的行数以在数据透视表之外使用?

  9. 9

    如何在熊猫中创建多列数据透视表?

  10. 10

    在数据透视表熊猫中用0填充列

  11. 11

    如何使用计算列创建数据透视表?

  12. 12

    向 Power BI 中的表添加计算列

  13. 13

    在熊猫中添加计算的行

  14. 14

    如何使用熊猫(不指定列名)在数据框中添加空列?

  15. 15

    在数据透视表中添加缺少的日期

  16. 16

    熊猫计算比率作为数据透视表中的值

  17. 17

    如何在数据框中按列分组并在循环中创建数据透视表

  18. 18

    如何在数据框中按列分组并在循环中创建数据透视表

  19. 19

    如何在数据透视表中按字母数字顺序对列数据进行排序?

  20. 20

    将列添加到数据透视表(熊猫)

  21. 21

    使用计算的字段在数据透视中更正总计

  22. 22

    在数据框中的特定行上执行计算,并使用结果执行附加计算

  23. 23

    将计算列添加到数据透视表

  24. 24

    如何在数据透视表的右列中获取值?

  25. 25

    如何在数据透视表中按天和月对以小时为单位的列进行分组?

  26. 26

    如何使用连接和数据透视表以特定形式表示熊猫数据框中的数据

  27. 27

    R XTS如何添加计算列

  28. 28

    如何获取熊猫数据框数据透视表中列的总价值总和?

  29. 29

    如何使用对象的大小在数据表中动态添加列

热门标签

归档