将索引设置为日期时间:pandas、python

Set index as datetime: pandas, python

我有一个原始数据集,如下所示:

我正在尝试取出 avgLowPrice 以及日期时间,并将日期作为索引和 avgLowPrice 的列。这是我的代码:

df=pd.read_csv('data.csv')
data = df.filter(['avgLowPrice'])
data.set_index(df['datetime'])

当我打印数据时,我得到了这个: 因此,我的数据不是按日期时间索引,而是按数字 0-300 索引我如何将 0-300 转换为我的原始日期时间列以使价格按日期时间索引?

您应该 data = data.set_index(df['datetime'])data.set_index(df['datetime'], inplace=True)。请参阅文档:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.set_index.html

您可以使用 data[['datetime','avgLowPrice']] 然后 data.set_index('datetime')

进行过滤
data = data[['datetime','avgLowPrice']]
data = data.set_index('datetime')

确保您的 'datetime' 列首先是时间戳,df['datetime']=pd.to_datetime(df['datetime']) 然后设置为index

df=df.set_index('datetime')

您需要先将日期时间列转换为 datetime 对象,然后使用该列设置索引。

df['time'] = pd.to_datetime(df['datetime'], format='%m/%d/%Y %H:%M')
df['time'] = df['time'].dt.strftime('%m/%d/%Y %H:%M')
df.set_index('time', inplace=True)