为pandas中的datetime列编制索引

2024-09-20 06:48:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python导入了一个csv文件。然后,我将第一列更改为datetime格式。在

datetime                  Bid32    Ask32

2019-01-01 22:06:11.699  1.14587  1.14727  
2019-01-01 22:06:12.634  1.14567  1.14707  
2019-01-01 22:06:13.091  1.14507  1.14647  

我看到了三种索引第一列的方法。在

^{pr2}$

或者

df.set_index('datetime', inplace=True)

以及

df.set_index(pd.DatetimeIndex('datetime'), inplace=True)

我的问题是关于第二和第三种方法。为什么在某些源代码中他们使用pd.DatetimeIndex()df.set_index()(比如第三个代码),而第二个代码就足够了?在


Tags: 文件csv方法代码truedfdatetimeindex
1条回答
网友
1楼 · 发布于 2024-09-20 06:48:54

如果不使用to_datetime()更改“datetime”列:

df = pd.DataFrame(columns=['datetime', 'Bid32', 'Ask32'])
df.loc[0] = ['2019-01-01 22:06:11.699', '1.14587', '1.14727']

df.set_index('datetime', inplace=True)  # option 2
print(type(df.index))

结果: pandas.core.indexes.base.Index

对比

^{pr2}$

结果: pandas.core.indexes.datetimes.DatetimeIndex

所以第三个带有pd.DatetimeIndex()的索引使它成为一个实际的日期时间索引,这正是您想要的。在

文件:

pandas.Index

pandas.DatetimeIndex

相关问题 更多 >