在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_index
的name
参数:
(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