python-3.x - 更改 Pandas 中的栏项目名称

标签 python-3.x pandas matplotlib

我有一个测试 excel 文件,如:

df = pd.DataFrame({'name':list('abcdefg'),
                   'age':[10,20,5,23,58,4,6]})

print (df)
  name  age
0    a   10
1    b   20
2    c    5
3    d   23
4    e   58
5    f    4
6    g    6

我使用 Pandasmatplotlib 来读取和绘制它:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os

excel_file = 'test.xlsx'

df = pd.read_excel(excel_file, sheet_name=0)
df.plot(kind="bar")
plt.show()

结果显示: enter image description here

它使用索引号作为项目名称,如何将其更改为存储在 name 列中的名称?

最佳答案

您可以在 plot.bar 中为 xy 值指定列:

df.plot(x='name', y='age', kind="bar")

或者先通过DataFrame.set_index创建Series并选择 age 列:

df.set_index('name')['age'].plot(kind="bar")
#if multiple columns
#df.set_index('name').plot(kind="bar")

关于python-3.x - 更改 Pandas 中的栏项目名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55396062/

相关文章:

python - 我将如何在实时场景中使用 concurrent.futures 和队列?

python - Pandas 数据框分组求和

python - matplotlib 将来自 csv 的 X Y Z 数据绘制为 pcolormesh

python - 设置 Matplotlib 颜色条大小以匹配图形

python - 如何在不丢失轮廓线的情况下平滑 Matplotlib 中的绘图?

Python - 从txt文件导入列表,迭代并作为参数传递

python - 检查 QColorDialog 是否被取消

python - BatchToSpaceND 实际上是如何工作的?

python - 查找 DataFrame 中两列之间的时间差

python - 从数据框中的每个组中删除特定的一组行