在 Python 中创建 pivot_table 的图形

Create a graph of a pivot_table in Python

我创建了一个数据透视表 table 并且我想创建一个条形图。这是我的 pivot_table:

我不知道如何提取 1970 列的值并使用此信息制作条形图。

谢谢!!

您可以使用 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])

只需将数据框列名称转换为 str,然后您就可以 select 1970 年的数据与 df['1970']。然后,您可以使用 pandas built-in 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 DataFrame 的例子:

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