我想用pandas在python中生成如下表:
January February
target achieved target achieved
North 23 11 30 29
Center 30 9 27 20
South 14 10 10 10
这样我就可以如下绘制图表:
我开始按如下方式进行编码,但我不知道如何继续执行代码:
import pandas as pd
import matplotlib
%matplotlib inline
data = { "target":[23,30,14], "achieved":[11,9,10]}
df=pd.DataFrame(data, index = ["North", "Center", "South"], columns = ['target', 'achieved'] )
df
target achieved
North 23 11
Center 30 9
South 14 10
df.plot(kind='bar')
答案 0 :(得分:1)
我想您想知道的一切都在这里:https://pandas.pydata.org/pandas-docs/stable/advanced.html
IMO,您应该从那里复制并粘贴内容,并通过反复试验弄清楚它是如何工作的,还应该对您的问题进行更具体的说明,而不是说“我不知道如何继续”,这样写会更好您想知道如何在现有数据框的顶部放置其他级别的列。
我已经编写了一些代码,您可以继续使用它们:
arrays = [['January', 'January', 'February', 'February'],
['Target', 'Achieved', 'Target', 'Achieved']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples)
df = pd.DataFrame(np.random.randn(3, 4), index=['North', 'Center', 'South'], columns=index)
print(df)