如何规范熊猫多索引数据框?

马库斯

我对标准化分组数据框中的计数有疑问。

我的数据如下所示:

import pandas as pd

data = [{'system': 'S1', 'id': '1', 'output': ['apple', 'pear']},
    {'system': 'S1', 'id': '2', 'output': []},
    {'system': 'S1', 'id': '3', 'output': []},
    {'system': 'S2', 'id': '4', 'output': ['apple', 'grape']},
    {'system': 'S2', 'id': '5', 'output': ['apple']}] 

df = pd.DataFrame(data) 

表格格式如下:

  system id          output
0     S1  1   [apple, pear]
1     S1  2              []
2     S1  3              []
3     S2  4  [apple, grape]
4     S2  5         [apple]

如何获得每个系统每个输出的标准化计数?

它看起来应该像这样:

system  output  perc
S1      apple   0.33
S1      pear    0.33
S2      apple   1.0
S2      grape   0.5
 

表示applepear出现在所有S1输出的三分之一中apple出现在所有S2输出中,grape出现在所有输出的一半中S2

我试图爆炸每个系统的输出并获得每个系统ID的单独计数,但合并它们会丢失该output列:

outputs = df.explode('output').groupby(['system', 'output']).count()                                                                                                                                        
counts = df.groupby('system').agg('count').id
pd.merge(outputs, counts, on="system")
广晃

对于0.25+的熊猫,我们可以使用explode

(df.explode('output')
   .groupby('system')
   .apply(lambda x:x['output'].value_counts()/x['id'].nunique())
   .reset_index()
)

输出:

  system level_1    output
0     S1    pear  0.333333
1     S1   apple  0.333333
2     S2   apple  1.000000
3     S2   grape  0.500000

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何规范熊猫数据框中的多列字典

来自分类Dev

如何规范熊猫数据框中的多列字典

来自分类Dev

如何使用索引遍历熊猫多索引数据框

来自分类Dev

重新索引多索引熊猫数据框

来自分类Dev

多索引数据框中的熊猫索引

来自分类Dev

从多索引熊猫数据框创建索引

来自分类Dev

如何计算熊猫中重新采样的多索引数据框

来自分类Dev

如何从多索引熊猫数据框中选择连续的行?

来自分类Dev

如何在熊猫中创建多索引数据框?

来自分类Dev

如何访问熊猫多索引数据框中的特定行

来自分类Dev

如何计算熊猫中重新采样的多索引数据框

来自分类Dev

如何根据多索引添加熊猫数据框?

来自分类Dev

如何将熊猫多索引列数据框与单个索引数据框连接

来自分类Dev

Python熊猫-数据框的多索引系列

来自分类Dev

重命名多索引数据框熊猫

来自分类Dev

合并多索引熊猫数据框

来自分类Dev

在熊猫中融化多索引数据框

来自分类Dev

对多索引熊猫数据框进行排序

来自分类Dev

如何将熊猫数据框转换为多索引数据框

来自分类Dev

如何将包含列表作为字段的熊猫数据框拆分为多索引数据框?

来自分类Dev

如何仅删除索引名称而不删除熊猫多索引数据框中的内容

来自分类Dev

如何根据多索引熊猫数据框中的行索引值创建列?

来自分类Dev

如何找出多索引熊猫数据框的索引中是否缺少给定的数字/文本?

来自分类Dev

如何在熊猫数据框中的多索引中更改外层索引?

来自分类Dev

如何根据多索引熊猫数据框中的行索引值创建列?

来自分类Dev

熊猫:在多索引数据框中转换索引类型

来自分类Dev

根据特定索引对多索引熊猫数据框进行排序

来自分类Dev

熊猫数据框重置索引的多索引计数

来自分类Dev

根据特定索引对多索引熊猫数据框进行排序

Related 相关文章

  1. 1

    如何规范熊猫数据框中的多列字典

  2. 2

    如何规范熊猫数据框中的多列字典

  3. 3

    如何使用索引遍历熊猫多索引数据框

  4. 4

    重新索引多索引熊猫数据框

  5. 5

    多索引数据框中的熊猫索引

  6. 6

    从多索引熊猫数据框创建索引

  7. 7

    如何计算熊猫中重新采样的多索引数据框

  8. 8

    如何从多索引熊猫数据框中选择连续的行?

  9. 9

    如何在熊猫中创建多索引数据框?

  10. 10

    如何访问熊猫多索引数据框中的特定行

  11. 11

    如何计算熊猫中重新采样的多索引数据框

  12. 12

    如何根据多索引添加熊猫数据框?

  13. 13

    如何将熊猫多索引列数据框与单个索引数据框连接

  14. 14

    Python熊猫-数据框的多索引系列

  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

    根据特定索引对多索引熊猫数据框进行排序

  28. 28

    熊猫数据框重置索引的多索引计数

  29. 29

    根据特定索引对多索引熊猫数据框进行排序

热门标签

归档