问题描述
我一直在尝试将一系列值放入数据框中,以便稍后可以从中绘制图表。这是我的代码:
datafileR = datafile = pd.read_csv("pixel_data.csv")
datafileR = pd.DataFrame(datafileR)
region = datafileR.groupby(["Reg"])
mm_MidEast= region["PP"].median().loc["Middle East and north Africa"] ##>> 138
mm_Africa= region["PP"].median().loc["Africa (excl MENA)"] ##>> 151
mm_Asia= region["PP"].median().loc["Asia and Pacific"] ##>> 158
mm_Europe= region["PP"].median().loc["Europe and Eurasia"] ##>> 127
mm_Cross= region["PP"].median().loc["Cross-regional"] ##>> 86
ppdata= pd.concat([mm_MidEast,mm_Africa,mm_Asia,mm_Europe,mm_Cross],axis="columns",sort=False)
我遇到错误:
TypeError: cannot concatenate object of type '<class 'numpy.int64'>'; only Series and DataFrame objs
are valid
我理解这是什么意思,尽管不知道如何通过将其作为DataFrame obj来解决此问题。这是我想要实现的最终图形:
sns.set_theme()
display(ppdata["tip"].mean())
ax = sns.distplot(ppdata,color="black")
解决方法
没关系。用简单的代码找到了一个解决方案:
sns.set_theme()
df2 = region["PP"].median()
plt.bar(x=df2.index,height=df2.values,align="center",color=(0.2,0.4,0.6,0.6))