3 回答
TA贡献1744条经验 获得超4个赞
但是在这种情况下,使用a groupby和unstacking 可能会更好:
(假设您已经在数据框中使用了日期时间索引)
In [1]: df
Out[1]:
value
datetime
2010-01-01 1
2010-02-01 1
2009-01-01 1
# create additional month and year columns for convenience
df['Month'] = map(lambda x: x.month, df.index)
df['Year'] = map(lambda x: x.year, df.index)
In [5]: df.groupby(['Month','Year']).mean().unstack()
Out[5]:
value
Year 2009 2010
Month
1 1 1
2 NaN 1
现在很容易绘制(每年作为单独的一行):
df.groupby(['Month','Year']).mean().unstack().plot()
TA贡献1802条经验 获得超6个赞
如果您正在运行Jupyter / Ipython笔记本并且在使用时遇到问题;
ax = df1.plot()
df2.plot(ax=ax)
在同一单元格内运行命令!由于某些原因,当它们分成顺序的单元格时,它将无法工作。至少对我来说。
TA贡献1784条经验 获得超8个赞
要对多个数据框执行此操作,可以对其进行for循环:
fig = plt.figure(num=None, figsize=(10, 8))
ax = dict_of_dfs['FOO'].column.plot()
for BAR in dict_of_dfs.keys():
if BAR == 'FOO':
pass
else:
dict_of_dfs[BAR].column.plot(ax=ax)
添加回答
举报