将索引设置为日期时间: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)
我有一个原始数据集,如下所示:
我正在尝试取出 avgLowPrice 以及日期时间,并将日期作为索引和 avgLowPrice 的列。这是我的代码:
df=pd.read_csv('data.csv')
data = df.filter(['avgLowPrice'])
data.set_index(df['datetime'])
当我打印数据时,我得到了这个:
您应该 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)