我有一個 CSV 文件作為我計算的輸入。該文件包含一個表,該表在我的腳本中被讀取為數(shù)據(jù)框。兩列是日期時間對象。當(dāng)我將文件讀取到數(shù)據(jù)幀時,我將這些值從默認(rèn)字符串類型轉(zhuǎn)換為數(shù)據(jù)時間,應(yīng)用帶有 UTC 參數(shù)的 to_datetime 函數(shù)。代碼如下:import pandas as pddf_in = pd.read_csv('./Out/in.csv', index_col = 0, usecols = [0, 1, 2, 3, 4], header = 0)df_in.iloc[:,2:4] = df_in.iloc[:,2:4].apply(pd.to_datetime, utc = True)print(df_in)對以下輸入 CSV 非常有效:,Rig ID,Rig Name,Start Time,End Time60,5,D004,2020-05-08 02:45:14.664341,2020-05-10 08:12:29.71983970,5,D004,2020-05-14 07:59:09.280761,2020-05-15 02:11:52.358921CSV 文件減少到 1 行的那一刻,例如:,Rig ID,Rig Name,Start Time,End Time60,5,D004,2020-05-08 02:45:14.664341,2020-05-10 08:12:29.719839我收到錯誤TypeError: data type not understood.據(jù)我所知,這與單行數(shù)據(jù)幀上的切片分配有關(guān)df_in.iloc[:,2:4] =但我正在努力尋找其原因和“智能”解決方法。
1 回答

HUX布斯
TA貢獻1876條經(jīng)驗 獲得超6個贊
我發(fā)現(xiàn),對于舊版本的熊貓,當(dāng)數(shù)據(jù)框中存在日期字段(特別是 datetime64 變體)時,可能會發(fā)生這種情況。所以,與其iloc
嘗試這個……
df_in[['Start Time','End Time']] = df_in[['Start Time','End Time']].apply(pd.to_datetime, utc = True)
添加回答
舉報
0/150
提交
取消