如何处理空的“DataFrame”:没有数字数据来绘制错误以在图表上获取字符串
Posted
技术标签:
【中文标题】如何处理空的“DataFrame”:没有数字数据来绘制错误以在图表上获取字符串【英文标题】:How to handle Empty 'DataFrame': no numeric data to plot error to take string on the graphs 【发布时间】:2020-06-03 11:32:38 【问题描述】:我正在为我的项目做如下工作;
df =pd.DataFrame (City: ['London', ‘Jakarta’, 'Newyork', 'Mumbai'],
‘Staff’: ['1000','2000','3000','4000'])
print (df.head())
df.plot(kind='line',x=’City’,y=’Staff’,color='red')
plt.show()
对于此代码,我收到错误消息 TypeError: Empty 'DataFrame': no numeric data to plot.
然后我在sn-p下面添加:
df.Staff=pd.to_numeric(df.Staff)
但得到同样的错误。 有没有办法在图上取字符串? 或者我需要重新定义为;
x = ['London', ‘Jakarta’, 'Newyork', 'Mumbai']
y = ['1000','2000','3000','4000']
我检查了以前的解决方案,但没有找到任何东西
【问题讨论】:
【参考方案1】:您的错误是由于您输入的数据格式不正确。请参阅下面的示例(注意Staff
列,输入时为数字,而不是字符串):
df =pd.DataFrame ('City': ['London', 'Jakarta', 'Newyork', 'Mumbai'],
'Staff': [1000,2000,3000,4000])
df.plot(kind='line',x='City', y='Staff', color= 'red')
如果您仍想以字符串形式输入数字数据,以下内容将为您提供帮助:
df =pd.DataFrame ('City': ['London', 'Jakarta', 'Newyork', 'Mumbai'],
'Staff': ['1000','2000','3000','4000'])
df['Staff'] = df['Staff'].astype("int") # astype("float")
df.plot(kind='line',x='City', y='Staff', color= 'red')
甚至:
df =pd.DataFrame ('City': ['London', 'Jakarta', 'Newyork', 'Mumbai'],
'Staff': ['1000','2000','3000','4000'])
df['Staff'] = pd.to_numeric(df['Staff'])
df.plot(kind='line',x='City', y='Staff', color= 'red')
【讨论】:
谢谢谢尔盖!它使用 plt.show() 对我有用,但城市名称未显示在图表上。有什么线索吗?谢谢和问候! matplotlib 的版本? 嗨,mplb 上的版本是 2.2.2 嗯,我的是 3+,它会显示城市名称,如您所见。 好吧,实际上我相信它们会显示在图上......尝试保存图像并在图像编辑器或浏览器中打开。以上是关于如何处理空的“DataFrame”:没有数字数据来绘制错误以在图表上获取字符串的主要内容,如果未能解决你的问题,请参考以下文章
@Tableau 设计技巧 10:Tableau中如何处理空值
java.lang.NullPointerException - 如何处理空指针异常