#python #pandas #dataframe #data-science #data-analysis
#python #pandas #фрейм данных #наука о данных #анализ данных
Вопрос:
Я создаю сводную таблицу и хочу создать гистограмму. Это моя сводная таблица:
Я не знаю, как структурировать значения столбца 1970 и использовать эту информацию для построения гистограммы.
Спасибо!!
Ответ №1:
Просто преобразуйте имена столбцов фрейма данных, чтобы str
затем вы могли выбрать данные за год 1970
df['1970']
. Затем вы можете использовать pandas
встроенный plot.bar
метод для построения гистограммы. Попробуйте это:
import pandas as pd
import matplotlib.pyplot as plt
#converting column names to string
df.columns = df.columns.astype(str)
#plotting a bar plot
df['1970'].plot.bar()
plt.show()
Примеры на основе фрейма данных @AlanDyke:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame([[1970,'a',1],
[1970,'b',2],
[1971,'a',2],
[1971,'b',3]],
columns=['year','location', 'value'])
df = pd.pivot_table(df, values='value', index='location', columns='year')
df.columns = df.columns.astype(str)
df['1970'].plot.bar()
plt.show()
Комментарии:
1. Добавлен ответ. Дайте мне знать, если это сработает для вас. Если это так, пожалуйста, подумайте о принятии / пометке ответа.
Ответ №2:
вы можете использовать plt.bar и нарезать фрейм данных:
df = pd.DataFrame([[1970,'a',1],
[1970,'b',2],
[1971,'a',2],
[1971,'b',3]],
columns=['year','location', 'value'])
df = pd.pivot_table(df, values='value', index='location', columns='year')
plt.bar(list(df.transpose().columns), height=df[1970])