Python读取CSV文件绘制WHO区域国家数量对比饼图异常问题求助
问题原因梳理
- 变量名引用错误:你通过
pd.read_csv读取CSV后赋值给了df2,但重命名列的时候误用了未定义的变量df,会直接触发运行报错 - 统计逻辑错误:你的CSV文件中已经提前统计好了每个WHO区域对应的国家数量,不需要调用
value_counts()方法,该方法是统计指定列中每个值的出现频次,此处调用后会得到每个区域对应数值为1的错误统计结果,和预期数值完全不符 - 图表标题不符合需求:当前代码设置的标题为
Count of Active cases,和预期展示的WHO区域国家数量对比主题不符
修正后完整代码
import pandas as pd import matplotlib.pyplot as plt # 读取CSV文件 df2 = pd.read_csv('PC.csv') # 重命名列 df2 = df2.rename(columns={"WHO Region":"WHO_Regions","Country/Region (Count All)":"Countries"}) plt.figure(figsize=(10,10)) # 直接使用CSV中已有的统计值绘制饼图即可 plt.pie(df2['Countries'], labels=df2['WHO_Regions'], startangle=45, autopct='%1.1f%%') # 修改为匹配需求的标题 plt.title('Count of Countries by WHO Region') plt.show()
内容的提问来源于stack exchange,提问作者LeGaC TheDoom
相关产品推荐
相关产品推荐

