matplotlib绘制条形图如何将X轴数值替换为对应宠物名称
修改X轴显示为宠物名称的解决方案
错误原因
你对分组统计后的数据框重命名列时,列顺序和原数据列顺序不匹配,导致你用来当X轴的Pet列实际存储的是其他字段的统计数值,才会出现X轴显示1、2、4、17的问题。
修改后的完整代码
import pandas as pd import numpy as np import matplotlib.pyplot as plt h2 = pd.read_csv("hw_2_data.csv") # 按Pet分组统计数量,直接生成仅含Pet和统计值的数据集 h2Grouped = h2.groupby('Pet', as_index=False).size().rename(columns={'size':'Count'}) %matplotlib inline # 绘图时X轴直接调用Pet列即可显示对应的宠物名称 bar1 = h2Grouped.plot.bar(x = 'Pet', y = 'Count', title = '宠物条形图') bar1.set_xlabel('宠物类型') t = bar1.set_ylabel('数量')
保留原有逻辑的修改方案
如果你不想改动原有分组逻辑,只需要删除列重命名的代码行即可,修改后对应片段如下:
## create grouped dataframe h2Grouped = h2.groupby('Pet').count() ##recreate serverity variable h2Grouped['Pet'] = h2Grouped.index # 删掉你原来的h2Grouped.columns重命名代码即可
内容的提问来源于stack exchange,提问作者Gahjay
相关产品推荐
相关产品推荐

