分类数据的累积值计数,分组依据

卢西亚诺·桑托斯

在我的数据框中,我有一个group包含组名和 column的文本列,其中包含drop_week范围 [1,4] 中的分类值。我想为每个组存储下降周值 1 到 4 的累积计数。我这样做:

drop_data = all_data[['group', 'drop_week']].groupby('group')['drop_week'] \
    .value_counts().unstack().transpose().fillna(0).cumsum().transpose()

它有效。但是由于我花了 2 个小时的谷歌搜索才提出这个解决方案,我想知道是否有更好的方法来做到这一点。

忘了它

您可以pd.crosstab用来创建频率表。然后用于cumsum(axis=1)计算每行的累积总和:

pd.crosstab(index=all_data['group'], columns=all_data['drop_week']).cumsum(axis=1)
# drop_week   1   2   3   4
# group                    
# 0          12  17  21  27
# 1           7  13  18  25
# 2           9  14  22  26
# 3           5  11  16  22

同意

drop_data = (all_data[['group', 'drop_week']].groupby('group')['drop_week']
             .value_counts().unstack().transpose().fillna(0).cumsum().transpose())
# drop_week   1   2   3   4
# group                    
# 0          12  17  21  27
# 1           7  13  18  25
# 2           9  14  22  26
# 3           5  11  16  22

我为此使用的设置是:

import numpy as np
import pandas as pd
np.random.seed(2019)
N = 100
all_data = pd.DataFrame({'group':np.random.randint(4, size=N),
                         'drop_week':np.random.randint(1,5, size=N)})

drop_data = (all_data[['group', 'drop_week']].groupby('group')['drop_week']
             .value_counts().unstack().transpose().fillna(0).cumsum().transpose())

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫通过分类数据和大量nan值加入行/分组依据

来自分类Dev

在熊猫数据框的分组依据中获得唯一计数和最大值

来自分类Dev

分组依据日期计数

来自分类Dev

按内容对“分组依据”分类

来自分类Dev

MySQL JSON数据类型计数和分组依据

来自分类Dev

SQL分组依据对数据组的记录进行计数

来自分类Dev

使用Pandas分组依据数据框中的第一行来计算累积差异

来自分类Dev

使用Pandas分组依据数据框中的第一行来计算累积差异

来自分类Dev

MYSQL计数(不同)分组依据

来自分类Dev

Linq分组依据和计数

来自分类Dev

SQL分组依据和计数

来自分类Dev

MYSQL计数(不同)分组依据

来自分类Dev

分组依据和计数值

来自分类Dev

多个分组依据和计数

来自分类Dev

Oracle 分组依据和计数

来自分类Dev

分组依据值以

来自分类Dev

分组数据的分组依据(熊猫)

来自分类Dev

取消爆炸(取消分组)累积数据框值

来自分类Dev

MYSQL 分组依据,值 > 0

来自分类Dev

熊猫在分组依据的一列中的两个值之间计数

来自分类Dev

大熊猫分组依据的价值计数

来自分类Dev

Xquery中的分组依据和计数

来自分类Dev

MySQL总和,以分组依据和联接计数

来自分类Dev

R中的条件计数和分组依据

来自分类Dev

SUM多个计数和分组依据

来自分类Dev

Oracle SQL计数和分组依据

来自分类Dev

使用Linq加入,分组依据和计数...。

来自分类Dev

根据“选择计数(*)分组依据”填充列

来自分类Dev

SQL分组依据,计数为零