我有以下数据框df:
x_1 x_2 x_3 x_4 x_5 ID cost
0 159 xyz 883nne2 28h93 lightz 10 2
1 159 xyz 883nne2 28h93 lightz 10 5
2 354 abc 94mmm4k heavy 15 2
3 354 abc 94mmm4k heavy 15 1
4 354 abc 94mmm4k 455h 15 7
5 354 abc 94mmm4k super 3 2
6 354 abc 94mmm4k 53g 10 4
7 354 abc 94mmm4k 53g 10 4
我正在使用以下内容来获取汇总计数加上成本列的总和:
df2 = df.fillna('').groupby(['x_1','x_2','x_3','x_4','x_5','ID'])['cost'].agg(['count','sum'])
这将返回我所期望的,即:
x_1 x_2 x_3 x_4 x_5 ID cost count sum
0 159 xyz 883nne2 28h93 lightz 10 2 2 7
1 354 abc 94mmm4k heavy 15 2 2 3
2 354 abc 94mmm4k 455h 15 7 1 7
3 354 abc 94mmm4k super 3 2 1 2
4 354 abc 94mmm4k 53g 10 4 2 8
然后,我将此数据帧与另一个数据帧合并,以使用以下方法比较聚合计数:
y_merge_cols = ['y_1','y_2','y_3','y_4','y_5','ID']
x_merge_cols = ['x_1','x_2','x_3','x_4','x_5','ID']
d1 = df1.merge(con_subs_df, left_on=y_merge_cols, right_on=x_merge_cols, how='left')
我的输出是:
y_1 y_2 y_3 y_4 y_5 y_id y_count count sum
0 159 xyz 883nne2 28h93 lightz 10 12 2 7
1 354 abc 94mmm4k heavy 15 24
2 354 abc 94mmm4k 455h 15 72
3 354 abc 94mmm4k super 3 21
4 354 abc 94mmm4k 53g 10 42
由于某种原因,当我合并列时,完成的计数和总和df2没有考虑空或 NaN 组合,并且聚合计数和总和不会像合并之前那样显示。
蓝山帝景
千巷猫影
相关分类