首页 > 解决方案 > 大熊猫 ts.plot() 上的日期

问题描述

我无法让日期出现在我的熊猫时间序列图中。我有一个时间序列 ts,我在下面给出了 ts 的输出。

import pandas as pd
import numpy as np
import datetime
import matplotlib.pyplot as plt
ts = pd.Series(df['res'])
# Date
# 2018-05-10    1.000000
# 2018-05-09    1.017333
# 2018-05-08    1.000000
# 2018-05-07    0.992783

ts.plot()

即使系列包含日期,我的情节在 x 轴上也只有“日期”一词。如何让它用实际日期标记 x 轴?谢谢。

标签: pandas

解决方案


如果索引包含日期字符串,则会出现您描述的症状(x 轴上没有日期)。要将日期字符串转换为(dtype 的datetime64)日期,请使用

ts.index = pd.to_datetime(ts.index)

例如,

import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series([1.000000, 1.017333, 1.000000, 0.992783],
               index=['2018-05-10', '2018-05-09', '2018-05-08', '2018-05-07'])

ts.index = pd.to_datetime(ts.index) 
ts.plot()
plt.show()

在此处输入图像描述


推荐阅读