通过索引子字符串将pandas DataFrame分组

时间:2019-12-11 20:47:33

标签: pandas dataframe

我有一个看起来像这样的数据框:

     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

谢谢。

2 个答案:

答案 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