如何对数据框中第 1 列的分组行求列总和

How to take sum of column on grouping rows of column 1 in dataframe

这是我附加在图像中的数据框,我想根据第一列求和,其中 ??代表该条目没有价值 DATAFRAME IMAGE SAMPLE 我想编写代码以获得如下所示的输出 红卫兵 0 0 贴现0 我想仅在 n/a 或 ??发生然后忽略它并进行求和,这样我就可以为同一过程遍历所有数据框

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     ??

我假设您的源 DataFrame 有列 codequantityquantityobject 类型(有字符串和数字)。

那么,一种可能的解决方案如下:

  • df.quantity.astype(str) - 将 quantity 值转换为字符串 (np.nan 值被转换为 'nan' 字符串)。
  • .str.isdigit() - 检查上面的字符串是否只有数字字符。
  • [...] - 上面的布尔列表 select 哪些行到 select(来自 df)。
  • .groupby('code').sum() - 有了这样的"limited" table,你可以 使用单个 groupby(通过 code)和 sum 执行所有处理 每个组。

总结一下:

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