Python 从聚合类别创建新列
我有一个数据框,看起来像:Python 从聚合类别创建新列,python,pandas,aggregate,pandas-groupby,Python,Pandas,Aggregate,Pandas Groupby,我有一个数据框,看起来像: SK_ID_CURR CREDIT_ACTIVE 0 215354 Closed 1 215354 Active 2 215354 Active 3 215354 Active 4 215354 Active 5 215354 Active 6 215354 Active 7 162297 Closed 8 162297 Closed 9 162297 Active 我想汇总每个id的活动和关闭信
SK_ID_CURR CREDIT_ACTIVE
0 215354 Closed
1 215354 Active
2 215354 Active
3 215354 Active
4 215354 Active
5 215354 Active
6 215354 Active
7 162297 Closed
8 162297 Closed
9 162297 Active
我想汇总每个id的活动和关闭信用的数量,然后为active\u credits
,closed\u credits
创建一个新列,其中包含每个id对应的活动和关闭信用的数量。您可以使用,这避免了建议的中间步骤:
res = pd.crosstab(df['SK_ID_CURR'], df['CREDIT_ACTIVE'])
print(res)
CREDIT_ACTIVE Active Closed
SK_ID_CURR
162297 1 2
215354 6 1
您可以使用
pd.DataFrame.groupby
df1.groupby(['SK_ID_CURR','CREDIT_ACTIVE']).size()
输出:
SK_ID_CURR CREDIT_ACTIVE
162297 Active 1
Closed 2
215354 Active 6
Closed 1
你的预期产出是多少?我认为jpp的答案更好:)