计数DataFrame中的出现次数

格里特

我有一个这种格式的数据框:

| Department | Person | Power  | ... |
|------------|--------|--------|-----|
| ABC        | 1234   |  75    | ... |
| ABC        | 1235   |  25    | ... |
| DEF        | 1236   |  50    | ... |
| DEF        | 1237   | 100    | ... |
| DEF        | 1238   |  25    | ... |
| DEF        | 1239   |  50    | ... |

我现在想要得到的是幂列中每个值的出现次数总和。如何从我的DataFrame中获取此信息?

| Department | 100 |  75 |  50 |  25 |
|------------|-----|-----|-----|-----|
| ABC        |   0 |   1 |   0 |   1 |
| DEF        |   1 |   0 |   2 |   1 |
耶斯列尔

您可以value_counts与一起使用sort_index,然后DataFrame生成to_frame,最后由进行转置T

print (df.Power.value_counts().sort_index(ascending=False).to_frame().T)
       100  75   50   25 
Power    1    1    2    2

通过评论编辑:

您需要crosstab

print (pd.crosstab(df.Department, df.Power).sort_index(axis=1, ascending=False))
Power       100  75   50   25 
Department                    
ABC           0    1    0    1
DEF           1    0    2    1

使用groupby加快另一个解决方案的速度unstack

print (df.groupby(['Department','Power'])
         .size()
         .unstack(fill_value=0)
         .sort_index(axis=1, ascending=False))

Power       100  75   50   25 
Department                    
ABC           0    1    0    1
DEF           1    0    2    1

如果需要groupby按列DepartmentPerson,加列Persongroupby第二位置(谢谢piRSquared):

print (df.groupby(['Department','Person', 'Power'])
         .size()
         .unstack(fill_value=0)
         .sort_index(axis=1, ascending=False))

Power              100  75   50   25 
Department Person                    
ABC        1234      0    1    0    0
           1235      0    0    0    1
DEF        1236      0    0    1    0
           1237      1    0    0    0
           1238      0    0    0    1
           1239      0    0    1    0

EDIT1通过评论:

如果需要添加其他缺失值,请使用reindex

print (df.groupby(['Department','Power'])
         .size()
         .unstack(fill_value=0)
         .reindex(columns=[100,75,50,25,0], fill_value=0))

Power       100  75   50   25   0  
Department                         
ABC           0    1    0    1    0
DEF           1    0    2    1    0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计数列中的出现次数

来自分类Dev

jQuery计数数组中的出现次数

来自分类Dev

计数CSV中重复出现的次数?

来自分类Dev

列中每次出现后每个元素的Pandas DataFrame计数发生次数

来自分类Dev

计算跨列的DataFrame中的出现次数

来自分类Dev

递归计数嵌套数字列表中的出现次数

来自分类Dev

Scala计数Map中某个元素的出现次数

来自分类Dev

如何按R中的像素计数线段出现次数?

来自分类Dev

使用LINQ计数列表中某项的出现次数

来自分类Dev

按Javascript数组中的出现次数(计数)排序

来自分类Dev

dplyr:将计数出现次数放入新变量中

来自分类Dev

计数json文件中的名称出现次数

来自分类Dev

计数在PDF文件中的java每个单词的出现次数的数量

来自分类Dev

按数组中的出现次数进行计数和排序

来自分类Dev

R中的出现次数和直方图图表计数

来自分类Dev

使用where和count计数对象中的出现次数

来自分类Dev

MYSQL的出现次数按两列中的值进行计数

来自分类Dev

标记中显示出现次数的AngularJS计数

来自分类Dev

发出计数字符串中字母出现的次数

来自分类Dev

QRegularExpression计数出现次数

来自分类Dev

计数对象的出现次数在列表

来自分类Dev

列中出现次数的计数

来自分类Dev

自动计数出现次数

来自分类Dev

如何获取DataFrame中2行的出现次数?

来自分类Dev

按出现次数进行计数和排序

来自分类Dev

使用fscanf计数单词出现的次数

来自分类Dev

R-计数值之前的出现次数

来自分类Dev

按名称计数出现次数

来自分类Dev

对行的出现次数进行排序和计数