如何重置Pandas中Series的索引?



在Pandas中使用value_counts后我想重置索引但是第一列的名称被替换为index每个列的名字都被推到右边

df = df[df['type']=='food']['fruit'].value_counts()
df = df.reset_index()
df
  index  fruit
0 apple  120
1 grape  110
2 orange 30

可以用df。列来重命名列但是,是否有办法防止"索引"取代第一列的名称?这就是我想要的

  fruit  number
0 apple  120
1 grape  110
2 orange 30

可以使用rename_axis重命名索引和reset_indexname参数:

(df[df['type']=='food']['fruit'].value_counts()
 .rename_axis('fruit')
 .reset_index(name='number'))

其他选项,使用groupby.agg:

(df[df['type']=='food']
 .groupby('fruit', as_index=False)
 .agg(number=('fruit', 'count'))
)

输出:

    fruit  number
0   Apple       2
1  Banana       1

输入:使用

   type   fruit
0  food   Apple
1  food   Apple
2  food  Banana

最新更新