我有以下数据框,它是 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
Run Code Online (Sandbox Code Playgroud)
我想结合像 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
Run Code Online (Sandbox Code Playgroud)
我尝试了此处提供的解决方案,但它不适合我。
df.groupby(df.index.to_series().str[0]).size().unstack(fill_value=0)
Run Code Online (Sandbox Code Playgroud)
您可以聚合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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |