我有一个看起来像这样的数据框:
nt
a 2
a1 4
a4 7
b 1
c1 10
c2 0
c4 3
我想为索引值nt
添加a, a1, a4,
,为索引值c1, c2 and c4
添加a 13
b 1
c 13
,依此类推。我希望看到以下结果:
CAAimationDelegate
谢谢。
答案 0 :(得分:1)
您可以这样做:
df.groupby(df.index.str.extract('^(\D*)')[0].values)['nt'].sum()
输出:
a 13
b 1
c 13
Name: nt, dtype: int64
答案 1 :(得分:0)
这适用于您的数据:
df.groupby(df.index.str[0]).sum()
nt
a 13
b 1
c 13
稍微概括一点,删除所有数字(不只是尾随数字):
df.groupby(df.index.str.replace(r'\d+', '')).sum()
nt
a 13
b 1
c 13