如何处理空的“DataFrame”:没有数字数据来打印错误以在图形上获取字符串

2024-05-26 11:12:26 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here我正在为我的项目做下面这样的事情

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:空的“数据框”:没有要打印的数字数据。

然后我添加以下代码段:

df.Staff=pd.to_numeric(df.Staff)

但同样的错误。 是否无法在图形上提取字符串? 或者我需要重新定义为

x = ['London', ‘Jakarta’, 'Newyork', 'Mumbai']
y = ['1000','2000','3000','4000']

我检查了以前的解决方案,但它看起来不是什么


Tags: 数据项目citydataframedf错误事情head
1条回答
网友
1楼 · 发布于 2024-05-26 11:12:26

您的错误是由于您输入的数据格式不正确造成的。请参见下面的示例(请注意Staff列为数字,输入时不是字符串):

df =pd.DataFrame ({'City': ['London', 'Jakarta', 'Newyork', 'Mumbai'],
                   'Staff': [1000,2000,3000,4000]})
df.plot(kind='line',x='City', y='Staff', color= 'red')

enter image description here

如果您仍希望以字符串形式输入数字数据,以下内容将帮助您:

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')

相关问题 更多 >