目前我正在使用熊貓來讀取一個csv文件到DataFrame
,使用第一列作爲索引。第一列是在ISO 8601格式,所以根據用於read_csv的文檔,但應認識爲datetime:熊貓read_csv不識別ISO8601作爲日期時間dtype
In [1]: import pandas as pd
In [2]: df = pd.read_csv('data.csv', index_col=0)
In [3]: print df.head()
U V Z Ubar Udir
2014-11-01 00:00:00 0.73 -0.81 0.46 1.0904 317.97
2014-11-01 01:00:00 1.26 -1.50 0.32 1.9590 319.97
2014-11-01 02:00:00 1.50 -1.80 0.13 2.3431 320.19
2014-11-01 03:00:00 1.39 -1.65 0.03 2.1575 319.89
2014-11-01 04:00:00 0.94 -1.08 -0.03 1.4318 318.96
然而,查詢索引D型細胞時,它返回「對象」:
In [4]: print df.index.dtype
object
我那麼必須手動將其轉換爲datetime D型:
In [5]: df.index = pd.to_datetime(df.index)
In [6]: print df.index.dtype
datetime64[ns]
有什麼辦法可以自動調用有當設置日期時間D型指數?
你不告訴它解析列日期時間'DF = pd.read_csv( 'data.csv',parse_dates = 0,index_col = 0)' – EdChum 2014-12-03 16:32:46
是的,這是訣竅!出於某種原因,當我閱讀'read_csv'的文檔時,我認爲'parse_dates'默認爲'True',可能來自閱讀:「If True - >嘗試解析索引」 – 2014-12-04 08:43:53
我一直髮現'read_csv'的這個方面docs是不明確的,可能是不正確的,我總是必須通過整數索引,注意如果你想解析多列,像這樣:'parse_dates = [0,3,4]'和嵌套列出您是否希望它將多個列解析爲單個日期時間col:'parse_dates = [[0,1]]'。所以我注意到,設置'parse_dates = True'不起作用,所以我總是通過一個列表或單個int列索引 – EdChum 2014-12-04 09:02:30