如何对数据框中第 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 有列 code
和 quantity
,
quantity
是 object
类型(有字符串和数字)。
那么,一种可能的解决方案如下:
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()
这是我附加在图像中的数据框,我想根据第一列求和,其中 ??代表该条目没有价值 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 有列 code
和 quantity
,
quantity
是 object
类型(有字符串和数字)。
那么,一种可能的解决方案如下:
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()