【问题标题】:Plotting based on Values in Data Frame: Python Pandas基于数据框中的值进行绘图:Python Pandas
【发布时间】:2014-03-28 06:27:22
【问题描述】:

我刚刚开始研究时间序列并使用 python 和 pandas 的内置函数来绘制数据。

我有自己的数据框,其中有“日期”和“价格”

Creation Date        Price
1/1/2013              2.0
1/2/2013              5.0
1/3/2013              6.0
1/4/2013              9.0

etc

我正在尝试使用

ts= Series(df['Price'], index = date_range('1/1/2013', periods =100)

我的图表/绘图中没有任何值,只是一个从 0.6 到 -.6 的空图表以及底部的日期。

我认为图表无法将日期列识别为实际日期...不知道为什么它不起作用。

如何根据列中的日期值绘制价格图表?

更新:

我意识到,如果我创建一个类似的系列:

 ts= Series(df['Price'], index = df['Creation Date'] 

我明白了:

Creation Date
1/31/2014       NaN
1/31/2014       NaN

 etc...

而如果我创建一个系列,例如:

ts2= Series(df['Price'])

这会产生:

   0      81.849998
   1      41.220001
   2      22.049999
   3      10.770000
   4      17.790001
   .... etc.

所以我得到的是价格,但不是一个系列的日期和日期,而是另一个系列的 NaN 值....

【问题讨论】:

  • 能否提供完整的sn-p代码? IE。生成适当测试数据的代码,然后是生成不可接受的输出的命令?

标签: python time plot pandas series


【解决方案1】:

为什么要费心制作这个系列?

newdf = df[['Price', 'Creation Date']].set_index('Creation Date')
newdf.plot()

或者作为替代:

df.plot('Price', 'Creation Date')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-02
    • 1970-01-01
    • 2021-09-27
    • 2018-10-17
    • 2012-10-10
    • 2016-12-16
    • 2021-04-14
    • 2019-05-17
    相关资源
    最近更新 更多