用熊猫绘制两列或更多列的切片(时间索引)

时间:2018-11-27 03:08:25

标签: python pandas plot

我定期汇总股票时间序列价格数据,发现自己需要对所述数据进行切片。

如果我的数据框(df)包含我要绘制的一列或多列,我只需使用

df.loc['DATE'].plot

但是,假设我有这个数据集(df)熊猫

Index    A B C D
01-2010  1 2 3 4
02-2010  4 2 3 4
03-2010  2 2 5 5
04-2010  4 4 3 4
05-2010  6 2 4 2
06-2010  3 2 3 4

我想绘制从03-2010开始的df ['A']和df ['C'] ... 通常,我会将df缩小为要绘制的df,例如:

df=df.loc['03-2010':]
df=df.drop(['B','D'],axis=1)
df.plot()
  1. 是否有更好的方法在一两行中执行此操作-特别是不删除不需要的所有列(如果有很多列)?也许通过特定的列切片?

  2. 假设两列(目前)具有不同的值,有没有办法用次要Y轴绘制它们的切片?

1 个答案:

答案 0 :(得分:0)

我个人不喜欢使用.plot的{​​{1}}方法。

DataFrame

此函数仅使用保存数据的基础import matplotlib.pyplot as plt def plotter(df, cols, location): for col in cols: plt.plot(df[col].loc[location].values) plt.show() 数组调用plt.plot,分别位于numpycol

随着需求的变化,您可以更改此功能以执行location中想要的任何事情,因此您可以控制很多。据我了解您的问题,无需pyplot.copy或编辑.drop