在熊猫中索引日期时间列

时间:2019-07-23 13:56:13

标签: python indexing datetimeindex

我在python中导入了一个csv文件。然后,我将第一列更改为日期时间格式。

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  

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

df.index = df.datetime
del datetime

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

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

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

1 个答案:

答案 0 :(得分:0)

如果您不使用TfidfVectorizer更改“ datetime”列:

to_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))

vs。

pandas.core.indexes.base.Index

结果: df = pd.DataFrame(columns=['datetime', 'Bid32', 'Ask32']) df.loc[0] = ['2019-01-01 22:06:11.699', '1.14587', '1.14727'] df.set_index(pd.DatetimeIndex(df['datetime']), inplace=True) # option 3 print(type(df.index))

因此,带有pandas.core.indexes.datetimes.DatetimeIndex的第三个索引使其成为实际的日期时间索引,这正是您想要的。

文档:

pandas.Index

pandas.DatetimeIndex