如何使用数据框中的特定行和列在Panda Python中创建直方图

如何使用数据框中的特定行和列在Panda Python中创建直方图,python,pandas,histogram,data-science,Python,Pandas,Histogram,Data Science,我在图片中有以下数据框,我想用绘制一个直方图,以显示任何给定年份(例如2010年)世界上所有国家的分布情况 以下是我的代码表在以下代码清洗后生成: dataSheet = pd.read_excel("http://api.worldbank.org/v2/en/indicator/EN.ATM.CO2E.PC?downloadformat=excel",sheetname="Data") dataSheet = dataSheet.transpose() dataSheet = dataShe

我在图片中有以下数据框,我想用绘制一个直方图,以显示任何给定年份(例如2010年)世界上所有国家的分布情况

以下是我的代码表在以下代码清洗后生成:

dataSheet = pd.read_excel("http://api.worldbank.org/v2/en/indicator/EN.ATM.CO2E.PC?downloadformat=excel",sheetname="Data")
dataSheet = dataSheet.transpose()
dataSheet = dataSheet.drop(dataSheet.columns[[0,1]], axis=1) ;
dataSheet = dataSheet.drop(['World Development Indicators', 'Unnamed: 2','Unnamed: 3'])

为了绘制任何给定年份(如2010年)所有国家的柱状图,我将执行以下操作。在您的代码之后:

dataSheet = pd.read_excel("http://api.worldbank.org/v2/en/indicator/EN.ATM.CO2E.PC?    downloadformat=excel",sheetname="Data")
dataSheet = dataSheet.transpose()
dataSheet = dataSheet.drop(dataSheet.columns[[0,1]], axis=1)
dataSheet = dataSheet.drop(['World Development Indicators', 'Unnamed: 2','Unnamed: 3'])
我将重新组织列名,将实际的国家名称指定为列名:

dataSheet.columns = dataSheet.iloc[1] # here I'm assigning the column names
dataSheet = dataSheet.reindex(dataSheet.index.drop('Data Source')) # here I'm re-indexing and getting rid of the duplicate row
然后,我将再次转置数据帧(为了安全起见,我将其分配给一个新变量):

然后我会像以前一样分配新的列名,这样我们就得到了一个不错的数据框架(尽管仍然不是最优的),以国家名称作为索引

df.columns = df.iloc[0]
df = df.reindex(df.index.drop('Country Name'))

现在,您可以最终绘制直方图,例如2010年:

import matplotlib.pyplot as plt
df[2010].plot(kind='bar', figsize=[30,10])

import matplotlib.pyplot as plt
df[2010].plot(kind='bar', figsize=[30,10])