[英]Indexing datetime column in pandas
我在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()
(如第三代碼),而第二代碼就足夠了?
如果您不使用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
與
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
因此,使用pd.DatetimeIndex()
的第三個pd.DatetimeIndex()
使它成為實際的日期時間索引,這正是您想要的。
說明文件:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.