我有以下数据框,它是 groupby 操作的结果。
Gender F M
Grade letter
D NaN 1.0
D+ 7.0 2.0
C- 3.0 2.0
C 3.0 4.0
C+ 9.0 12.0
B- 8.0 10.0
B 6.0 3.0
B+ 5.0 7.0
A- 7.0 4.0
A 2.0 4.0
A+ 1.0 NaN
我想结合像 D、C、B、A 这样的等级字母而忽略后缀 (-, +)。
所需的输出类似于
Gender F M
Grade letter
D 7.0 3.0
C 15.0 18.0
B 19.0 20.0
A 10.0 8.0
我尝试了提供的解决方案 here ,但它不适合我。
df.groupby(df.index.to_series().str[0]).size().unstack(fill_value=0)
最佳答案
您可以聚合sum
, 首字母也可以省略 .to_series()
:
df1 = df.groupby(df.index.str[0], sort=False).sum()
print (df1)
F M
Gender
D 7.0 3.0
C 15.0 18.0
B 19.0 20.0
A 10.0 8.0
关于python - 根据数据框中的部分索引名称对列值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59763844/