如何在熊猫中执行诸如groupby()和value_counts()之类的某些操作?

o0Helloworld0o

这是一个熊猫数据框,定义如下:

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo', 'foo'],
                   'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three', 'two'],
                   'C' : [0, 1, 0, 1, 1, 2, 0, 2, 1]})
>>> df
     A      B  C
0  foo    one  0
1  bar    one  1
2  foo    two  0
3  bar  three  1
4  foo    two  1
5  bar    two  2
6  foo    one  0
7  foo  three  2
8  foo    two  1

我想做两个操作。

首先,将Dataframe按列A分组B因此,在这种情况下,获得了6个组。此操作类似于pandas中的groupby()函数。

然后,对于每个组,对列进行计数操作,C因为在这种情况下,它可以是三个不同的值(0、1和2)。此操作类似于pandas中的value_counts()函数。

最后,我想要一个这样的新数据框。

     A      B  C_value0  C_value1  C_value2
0  foo    one         2         0         0
1  foo    two         1         2         0
2  foo  three         0         0         1
3  bar    one         0         1         0
4  bar    two         0         0         1
5  bar  three         0         1         0

有人可以告诉我如何实现这一目标吗?谢谢!

耶斯列尔

您可以使用groupby与聚合size,然后更换NaN0通过fillna,转换到int通过astypeadd_prefixreset_index和最后一个rename_axis(新的pandas 0.18.0):

print (df.groupby(['A','B', 'C'])['C'].size()
                                      .unstack()
                                      .fillna(0)
                                      .astype(int)
                                      .add_prefix('C_value')
                                      .reset_index()
                                      .rename_axis(None, axis=1))

     A      B  C_value0  C_value1  C_value2
0  bar    one         0         1         0
1  bar  three         0         1         0
2  bar    two         0         0         1
3  foo    one         2         0         0
4  foo  three         0         0         1
5  foo    two         1         2         0

另一个解决方案crosstab

print (pd.crosstab([df.A, df.B], df.C)
         .add_prefix('C_value') 
         .reset_index()
         .rename_axis(None, axis=1))

     A      B  C_value0  C_value1  C_value2
0  bar    one         0         1         0
1  bar  three         0         1         0
2  bar    two         0         0         1
3  foo    one         2         0         0
4  foo  three         0         0         1
5  foo    two         1         2         0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在函数中获取诸如baseDirectory之类的SettingKey的值?

来自分类Dev

如何通过reduce定义诸如map,filter和reverse之类的操作?

来自分类Dev

在R中,使用诸如工作目录之类的设置临时执行操作

来自分类Dev

熊猫:value_counts函数的反函数

来自分类Dev

使用熊猫Value_Counts和matplotlib

来自分类Dev

根据value_counts()更改熊猫数据框中的值

来自分类Dev

如何在熊猫中绘制value_counts,其中的大量不同计数不是均匀分布的

来自分类Dev

熊猫value_counts进入新列

来自分类Dev

如何在Firebase函数中处理诸如字体之类的资产

来自分类Dev

如何使用FileManager执行诸如Finder之类的特权操作?

来自分类Dev

在熊猫中按另一列分组时如何返回value_counts()

来自分类Dev

每行熊猫数据框的“ value_counts”

来自分类Dev

熊猫-value_counts()中消失的值

来自分类Dev

如何在熊猫中执行类似集合的操作?

来自分类Dev

更改groupby和value_counts输出以映射到数据框

来自分类Dev

熊猫value_counts()并保留它

来自分类Dev

如何在Python中手动排列Value_counts的索引

来自分类Dev

如何在Test Suite设置/拆卸中执行某些操作?

来自分类Dev

熊猫value_counts(显示值和比率)

来自分类Dev

连接Rails和系统,以便Rails可以执行诸如更新nginx块之类的操作

来自分类Dev

如何在熊猫中执行选择性groupby()。count()?

来自分类Dev

如何在春季启动时在HTML文件中添加诸如CSS和JS之类的静态文件?

来自分类Dev

如何将value_counts(normalize = True)和value_counts()应用于熊猫系列?

来自分类Dev

如何在Android Textview中显示诸如ë和ê之类的字符?

来自分类Dev

如何在Android中执行“下拉导航”之类的操作(因为它似乎已被弃用?)

来自分类Dev

如何在原始和覆盖的systemd服务文件中指定诸如ExecStartPre之类的字段的处理执行顺序?

来自分类Dev

根据value_counts()更改熊猫数据框中的值

来自分类Dev

如何在海牛Trello方法中传递诸如'before'和'limit'之类的参数

来自分类Dev

熊猫的相应索引value_counts()方法

Related 相关文章

  1. 1

    如何在函数中获取诸如baseDirectory之类的SettingKey的值?

  2. 2

    如何通过reduce定义诸如map,filter和reverse之类的操作?

  3. 3

    在R中,使用诸如工作目录之类的设置临时执行操作

  4. 4

    熊猫:value_counts函数的反函数

  5. 5

    使用熊猫Value_Counts和matplotlib

  6. 6

    根据value_counts()更改熊猫数据框中的值

  7. 7

    如何在熊猫中绘制value_counts,其中的大量不同计数不是均匀分布的

  8. 8

    熊猫value_counts进入新列

  9. 9

    如何在Firebase函数中处理诸如字体之类的资产

  10. 10

    如何使用FileManager执行诸如Finder之类的特权操作?

  11. 11

    在熊猫中按另一列分组时如何返回value_counts()

  12. 12

    每行熊猫数据框的“ value_counts”

  13. 13

    熊猫-value_counts()中消失的值

  14. 14

    如何在熊猫中执行类似集合的操作?

  15. 15

    更改groupby和value_counts输出以映射到数据框

  16. 16

    熊猫value_counts()并保留它

  17. 17

    如何在Python中手动排列Value_counts的索引

  18. 18

    如何在Test Suite设置/拆卸中执行某些操作?

  19. 19

    熊猫value_counts(显示值和比率)

  20. 20

    连接Rails和系统,以便Rails可以执行诸如更新nginx块之类的操作

  21. 21

    如何在熊猫中执行选择性groupby()。count()?

  22. 22

    如何在春季启动时在HTML文件中添加诸如CSS和JS之类的静态文件?

  23. 23

    如何将value_counts(normalize = True)和value_counts()应用于熊猫系列?

  24. 24

    如何在Android Textview中显示诸如ë和ê之类的字符?

  25. 25

    如何在Android中执行“下拉导航”之类的操作(因为它似乎已被弃用?)

  26. 26

    如何在原始和覆盖的systemd服务文件中指定诸如ExecStartPre之类的字段的处理执行顺序?

  27. 27

    根据value_counts()更改熊猫数据框中的值

  28. 28

    如何在海牛Trello方法中传递诸如'before'和'limit'之类的参数

  29. 29

    熊猫的相应索引value_counts()方法

热门标签

归档