如何在数据帧中对列1的行进行分组时求和

时间:2019-02-02 09:14:14

标签: python pandas pymysql

这是我在图像中附加的数据框,我想按照第一列进行汇总,其中?表示该条目没有任何值 DATAFRAME IMAGE SAMPLE 我想编写代码以产生如下所示的输出 HWK 0 CSP 0 DCF 0 我只想在不适用或??的情况下求和发生,然后忽略它并求和,这样我就可以遍历同一过程的所有数据帧

HWK      0 
CSP     ?? 
DCF      0 
BM_IO   ?? 
CS      ?? 
os      ?? 
CS       0 
ESC      0 
ESC      0 
DCF      0 
DLHLTL  ?? 
CSP      0 
CSP      0 
ESC      0 
CSP     ??

1 个答案:

答案 0 :(得分:0)

我假设您的源DataFrame具有列codequantity, 并且quantity的类型为object(具有字符串和数字)。

然后,一种可能的解决方案如下:

  • df.quantity.astype(str)-将quantity的值转换为字符串 ({np.nan值将转换为'nan'字符串)。
  • .str.isdigit()-检查上面的字符串是否只有数字字符。
  • [...]-上面的布尔列表从df中选择要选择的行。
  • .groupby('code').sum()-具有这样的“有限”表,您可以 使用单个groupby(由code)和sum执行所有处理 每个组。

总结:

df[df.quantity.astype(str).str.isdigit()].groupby('code').sum()