将纪元时间更改为可读时​​间并在 python/pandas 中绘图

Changing epoch time to readable time and plotting in python/pandas

我在 .csv 文件中有股票数据。日期列是 unix 时间。 如何将整列转换为可读日期?另外,如何将 x 轴设置为日时间而不是秒数?对此很陌生..

RBZ 一个 day.csv 看起来像这样: RBZ csv data

df = pd.read_csv('RBZ one day.csv')
fig = plt.figure(figsize=(15,7))
ax1 = plt.subplot2grid((40,40), (0,0), rowspan=40, colspan=40)

ax1.plot(open)

你的日期时间列是 Unix 时间到毫秒,所以用这个来转换它:

df['datetime'] = pd.to_datetime(df['datetime'],unit='ms')

然后您可以使用 ax.plot_date():

绘图
ax1.plot_date(df['datetime'],df['open'])

示例:

import matplotlib.dates as mdates

df = pd.DataFrame({'datetime':[1575293880000,1575294180000,1575294420000,1575297000000,1575297060000],
                   'open':[np.random.random() for i in range(5)]})
fig = plt.figure(figsize=(5,5))
ax = fig.gca()
ax.plot_date(df['datetime'],df['open'])
ax.xaxis.set_major_locator(mdates.HourLocator())
fig.autofmt_xdate() 

结果: