【发布时间】:2019-10-23 10:17:49
【问题描述】:
我想对 csv 文件的行进行分组,计算一列并添加到另一列。
例如,我想将 Commune 上的行分组以使 winner 的列与计数和列 Swing 与总和
Commune Winner Swing longitude latitude turnout
Paris PAM 1 12.323 12.093 0.3242
Paris PJD 0 12.323 12.093 0.1233
Paris PAM 1 12.323 12.093 0.534
Paris UDF 1 12.323 12.093 0.65434
Madrid PAM 0 10.435 -3.093 0.3423
Madrid PAM 1 10.435 -3.093 0.5234
Madrid PJD 0 10.435 -3.093 0.235
如何对行进行分组,一列有一列,另一列有一个总和?
Commune PAM PJD UDF Swing
Paris 3 1 1 3
Madrid 2 1 0 1
到目前为止我尝试过:
g = df.groupby('Commune').Winner
pd.concat([g.apply(list), g.count()], axis=1, keys=['members', 'number'])
但它返回:
members number
Commune
Paris [PAM, PJD, PAM, UDF] 4
Madrid [PAM, PAM, UDF] 3
【问题讨论】:
标签: python python-3.x pandas pandas-groupby