#python #pandas #dataframe #csv
#питон #панды #фрейм данных #csv
Вопрос:
Я пытаюсь создать csv-файл, который выглядит так:
Я уже изменил типы столбцов, чтобы они подходили для графика
df.dtypes Unnamed: 0 int64 Kanton object Stadt object 1850 float64 1860 float64 1870 float64 1880 float64 1890 float64 1900 float64 1910 float64 1920 float64 1930 float64 1940 float64 1950 float64 1960 float64 1970 float64 1980 float64 1990 float64 2000 float64 dtype: object
Я помещаю все свои «Штадтские»имена в массив:
df.Stadt.unique()
эта команда, похоже, не работает, я получаю сообщение об ошибке, что
ax = df.Stadt.plot(kind='bar', color='#c93867',figsize=(50,10),columns="1950") ... TypeError: no numeric data to plot
Моя колонка «1950» имеет тип float, как показано выше
Заранее спасибо
Ответ №1:
Проблема в том, что вы используете подмножество Stadt
фрейма данных, и для построения нет числовых данных. Попробуй:
ax = df.plot(kind='bar', x='Stadt', y=1950, color='#c93867', figsize=(50, 10))
ДЕМОНСТРАЦИЯ:
import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'Kanton': ['AG', 'AG', 'AG'], 'Stadt': ['A', 'B', 'C'], 1950: [1, 2, 3], 1960: [10, 11, 12]}) df.plot(kind='bar', x='Stadt', y=1950, color='#c93867', figsize=(50,10)) plt.show()