Как обрабатывать пустой 'DataFrame': нет числовых данных c для отображения ошибки при получении строки на графиках - PullRequest
1 голос
/ 19 февраля 2020

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: Empty 'DataFrame' : нет цифр c данных для построения.

Затем я добавляю ниже фрагмент:

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

, но получаю ту же ошибку. Нет ли способа взять строку на графике? ИЛИ мне нужно переопределить как;

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

Я проверил предыдущие решения, но что-то не ищет

1 Ответ

0 голосов
/ 19 февраля 2020

Ваша ошибка связана с неверным форматом данных, который вы вводите. См. Пример ниже (обратите внимание на столбец Staff, цифра c, а не строку при вводе):

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

Следует Вы все еще хотите ввести свои числовые данные c в виде строк, вам помогут следующие:

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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...