Создание графика сводной таблицы в Python

#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])