我有一个很大的数据集,其中有一个二进制变量:
Transactions['has_acc_id_and_cus_id'].value_counts()
1 1295130
0 823869
Name: has_acc_id_and_cus_id, dtype: int64
当我通过这个数据集——事务——将这个特定的二进制变量用作一个分组变量时,我得到一个分组的数据集——df100——它只有上述二进制变量的一个级别
df100 = Transactions.groupby(['acc_reg_year', 'acc_reg_month', 'year', 'month',\
'has_acc_id_and_cus_id'])[['net_revenue']].agg(['sum', 'mean', 'count'])
df100['has_acc_id_and_cus_id'].value_counts()
1 1421
Name: has_acc_id_and_cus_id, dtype: int64
如果您真的只想
groupby
在has_acc_id_and_cus_id
上,那么您想要的命令将是这个子集只包含了您想要汇总的变量(
has_acc_id_and_cus_id
)和您想要汇总的变量(net_revenue
)…然后按
has_acc_id_and_cus_id
对它们进行分组…然后应用
agg()
函数获取所需的统计信息你所犯的错误,基于你所说的仅仅用
has_acc_id_and_cus_id
来总结的目的,是用另外四个变量来分组(acc_reg_year
、acc_reg_month
、year
和month
)如果您确实希望在中使用
has_acc_id_and_cus_id
的摘要,那么您的原始代码是正确的,但是acc_reg_year
、acc_reg_month
、year
和month
中的一个或多个在has_acc_id_and_cus_id == 0
时缺少值,因此请检查您的数据相关问题 更多 >
编程相关推荐