如何在数据框中绘制行

san*_*epp 4 python matplotlib pandas

我有看起来像这样的数据集`

"Name of Countries","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010"
"BANGLADESH","431312","435867","454611","477446","456371","484401","480240","541884","468899","431962" 
"SRILANKA","112813","108008","109098","128711","136400","154813","204084","218805","239995","266515" 
"UK","405472","387846","430917","555907","651803","734240","796191","776530","769251","759494" 
"USA","329147","348182","410803","526120","611165","696739","799062","804933","827140","931292"
Run Code Online (Sandbox Code Playgroud)

我想用y轴作为值绘制行,而x轴是年份。我尝试过美国

t=df[df['Name of Countries']=='USA']
x=pd.DataFrame([t.iloc[0].index,t.iloc[0].values]).T
x.plot()
plt.show() 
Run Code Online (Sandbox Code Playgroud)

看起来很丑陋的代码。我得到的是在此处输入图片说明

我想要-USA在图例和X轴上作为列的名称[2001,2002 ... 2010],并且可以以更好的方式完成它,而不必像我正在做的那样遍历单个行。`

Rob*_*ats 6

加载df时,需要指定“国家名称”作为索引。同样,在我看来,出于您的目的,将国家/地区用作列,将年份作为行将是一个更明智的选择。

df = pd.read_csv(yourcsv, index_col='Name of Countries') #set column as       index
df = df.T #Transpose df, now countries are your columns and years your rows
Run Code Online (Sandbox Code Playgroud)

以这种方式加载df之后,一切都变得非常简单:

df.USA.plot(legend=True) #plot usa column
plt.show()
Run Code Online (Sandbox Code Playgroud)