【解决办法】pandas画出时序数据(股票数据)横轴不是时间

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a19990412/article/details/85107725

简述

遇到了这个问题,被坑了很久。

首先我们要假设我们一直认为index是时间数据。然后我们发现没有看到横轴为时间
(如果不是的这么认为的话,就记得先把index设置为时间数据)

可能性

遇到这个问题有很多种可能。

  • 读取的时候,时间所在的列没有被设置为index。
    • 这种可能下的样子就是: 画出的图,横轴为数字(默认index)
    • 解决办法: 重新设置为index(往往这个问题,会伴随着下面的问题
    • df = pd.read_csv("sh.csv", index_col=0)
  • 在dataframe中index看来就是时间数据了,但是任然没有为时间
    • 这样可能下的样子就是: 画出的图,没有x轴
    • 解决办法: 记得将数据转成时间数据
    • df.index = list(map(lambda x: datetime.datetime.strptime(x, "%Y-%m-%d"), df.index))

数据范式:(处理后的)

                open     close      high       low        volume         money
2010-01-04  3592.468  3535.229  3597.748  3535.229  6.610108e+09  9.341984e+10
2010-01-05  3545.186  3564.038  3577.526  3497.661  8.580964e+09  1.283024e+11
2010-01-06  3558.700  3541.727  3588.832  3541.173  7.847312e+09  1.210460e+11
2010-01-07  3543.160  3471.456  3558.556  3452.769  8.035004e+09  1.204362e+11
2010-01-08  3456.908  3480.130  3482.083  3426.698  6.079025e+09  9.019096e+10
2010-01-11  3593.106  3482.052  3594.528  3465.317  8.998017e+09  1.341140e+11
2010-01-12  3477.842  3534.916  3535.407  3437.661  9.374328e+09  1.340714e+11
2010-01-13  3448.291  3421.144  3490.112  3415.693  1.124579e+10  1.598604e+11
2010-01-14  3433.472  3469.051  3470.323  3411.812  8.335325e+09  1.181079e+11
2010-01-15  3472.524  3482.738  3500.072  3448.661  7.254310e+09  1.040352e+11

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/a19990412/article/details/85107725