Pandas/Python-生成图表

Pandas/Python-生成图表,python,pandas,matplotlib,Python,Pandas,Matplotlib,所以我想从一个csv数据文件中生成一个图表,我一直在遵循一个指南,但我似乎无法以这种方式操纵我的代码来获得我想要的 以下是我到目前为止的情况: from pandas import DataFrame, read_csv import matplotlib.pyplot as plt import pandas as pd import sys import matplotlib df = pd.read_csv("TB_burden_countries_2018-03-06.csv")

所以我想从一个csv数据文件中生成一个图表,我一直在遵循一个指南,但我似乎无法以这种方式操纵我的代码来获得我想要的

以下是我到目前为止的情况:

from pandas import DataFrame, read_csv
import matplotlib.pyplot as plt
import pandas as pd 
import sys 
import matplotlib 
df = pd.read_csv("TB_burden_countries_2018-03-06.csv")
df = df.set_index(['country'])
df2 = df.loc["Zimbabwe", "e_mort_num"]
df2 = df.loc["Zimbabwe", "e_mort_num"]
df = pd.DataFrame(data = df2, columns= ["e_mort_num"])
df.columns = ["Mortality"]
print(df2)
这段代码只是为了让我可以选择一个特定的国家(津巴布韦)并查看其人口数量(e_mort_num)。我可以编写什么来生成图表?我一直在使用本教程:,但是我在操作变量名时遇到了问题,我不太确定我应该做什么。如果您需要更多信息,请说明。谢谢你的帮助

CSV兴趣点:

  Country   Year    Mortality
    Zimbabwe    2000    20000
    Zimbabwe    2001    18000
    Zimbabwe    2002    17000
    Zimbabwe    2003    19000
    Zimbabwe    2004    19000
    Zimbabwe    2005    22000
    Zimbabwe    2006    24000
    Zimbabwe    2007    24000
    Zimbabwe    2008    23000
    Zimbabwe    2009    17000
    Zimbabwe    2010    13000
    Zimbabwe    2011    14000
    Zimbabwe    2012    14000
    Zimbabwe    2013    11000
    Zimbabwe    2014    11000
    Zimbabwe    2015    9000
    Zimbabwe    2016    5600

假设您的数据帧如下所示:

>>> df
     Country  Year  Mortality
0   Zimbabwe  2000      20000
1   Zimbabwe  2001      18000
2   Zimbabwe  2002      17000
3   Zimbabwe  2003      19000
4   Zimbabwe  2004      19000
5   Zimbabwe  2005      22000
6   Zimbabwe  2006      24000
7   Zimbabwe  2007      24000
8   Zimbabwe  2008      23000
9   Zimbabwe  2009      17000
10  Zimbabwe  2010      13000
11  Zimbabwe  2011      14000
12  Zimbabwe  2012      14000
13  Zimbabwe  2013      11000
14  Zimbabwe  2014      11000
15  Zimbabwe  2015       9000
16  Zimbabwe  2016       5600
可以使用以下代码获取条形图:

# Plot mortality per year:
plt.bar(df['Year'], df['Mortality'])
# Set plot title
plt.title('Zimbabwe')
# Set the "xticks", for barplots, this is the labels on your x axis 
plt.xticks(df['Year'], rotation=90)
# Set the name of the x axis
plt.xlabel('Year')
# Set the name of the y axis
plt.ylabel('Mortality')
# tight_layout makes it nicer for reading and saving
plt.tight_layout()
# Show your plot
plt.show()
这就给了你:


您能否发布
df2.head(10)
df.head(10)
的输出,并澄清“图表图形”是否指条形图?什么类型的图形?您好,是的,我指的是条形图。关于df2(10)或df(10)的输出,它实际上太大,无法发布ehre([10行x 70列]),因为我正在分析世界卫生组织的数据,但是,让我发布上述代码
国家津巴布韦20000津巴布韦18000津巴布韦17000津巴布韦19000津巴布韦19000津巴布韦22000津巴布韦24000津巴布韦24000津巴布韦23000津巴布韦17000津巴布韦13000津巴布韦14000津巴布韦14000津巴布韦11000津巴布韦11000津巴布韦9000津巴布韦5600姓名:e_mort_num,数据类型:int64
对此表示抱歉。x值是几年,所以从2000年到2016年。哇,太神奇了,这正是我想要的!非常感谢您的盛情款待,非常感谢!不客气!在以后的文章中,如果你发布一个最小的例子(就像你最后做的那样),这样人们就可以玩它了,这会有很大帮助。