使用熊猫从CSV绘制特定数据

问题描述

Country,World_Bank_Income_Level,Region,2017,2016,2015,2014,2013,2012,2011,2010,2009,2008,2007,2006,2005,2004,2003,2002,2001,2000,1999,1998,1997,1996,1995,1994,1993,1992,1991,1990,1989,1988,1987,1986,1985,1984,1983,1982,1981,1980
Afghanistan,WB_LI,EMR,62,60,57,59,64,55,53,50,48,39,35,37,27,31,38,42,41,40,25,22,19,20,34,14,9,8,11
Albania,WB_LMI,EUR,96,97,98,99,95,93,85,89,92,91,90,76,87,80,88,90
Algeria,WB_UMI,AFR,94,83,81,84,86,82,73,67,68,Andorra,WB_HI,Angola,45,51,56,30,29,78,46,44,47,26,Antigua and Barbuda,AMR,69,Argentina,54,79,77,61
Armenia,Australia,WPR,Austria,75,74,65,Azerbaijan,66,49,52,

我将其作为数据集,我想知道是否可以打印World_Bank_Income_Level为= WB_LI的所有国家/地区

我正在使用大熊猫,当我将CSV放入数据框时,即使我尝试循环查找具有该规格的国家/地区时,最终还是要绘制整个CSV文件。我还没有找到一种方法只能绘制具有该规格的国家/地区。我想我需要制作一个数据框,然后将仅包含该条件的国家/地区添加到其中,但我不确定这是否正确或如何执行。

那么,如何只绘制特定的行?

import pandas as pd
import matplotlib.pyplot as plt
import csv

measles = pd.read_csv('measles.csv')

df = pd.DataFrame(measles)

print(df)

ax = plt.gca()

df.plot(kind='bar',x='Country',y='2017',color='red',ax=ax)

plt.show()

解决方法

无需为其构建新的数据框,只需将值提供给新变量即可,例如wb_country = df [df ['World_Bank_Income_Level'] =='WB_LI'],如果要使用多个条件,则可以尝试df [(df ['World_Bank_Income_Level'] =='WB_LI')&(您需要什么)]