我有一個非?;靵y的文件,其中有我需要閱讀的日期時間并將其用作索引。(我添加這個是為了澄清它看起來如何我的數(shù)據(jù))。我凌亂的文件是日期時間所在的樣子:31.01.2016 13:59:13 31.01.2016 13:59:13 31.01.2016 14:39:20 31.01.2016 14:39:20 31.01.2016 15:19:27 31.01.2016 15:19:27 31.01.2016 15:59:34 31.01.2016 15:59:34 31.01.2016 16:39:41 31.01.2016 16:39:41 31.01.2016 17:19:48 31.01.2016 17:19:48 31.01.2016 17:59:55 31.01.2016 17:59:55 31.01.2016 18:40:02 我用來讀取文件的代碼是下一個(這是一個非?;靵y的文件):df = pd.melt(pd.read_csv(file, delimiter='\t', skiprows=3, index_col=0, decimal=",").rename(columns={"Unnamed: 1":"Depth [m]"}), id_vars=["Depth [m]"], var_name="Date", value_name="Temperature").set_index("Date"))我得到的結(jié)果是一個 DataFrame。這個 DataFrame 有一列應該轉(zhuǎn)換為 DateTime (Date),之后,我將把它用作索引。當我閱讀 DataFrame 并嘗試將日期轉(zhuǎn)換為 DateTime 時,它不起作用。在這一步中,日期是一個“對象”。我的數(shù)據(jù)看起來像這樣: Date Depth [m] Temperature0 01.01.2016 00:32:09 0.0 26.591 01.01.2016 01:12:16 0.0 26.672 01.01.2016 01:52:23 0.0 26.453 01.01.2016 02:32:30 0.0 26.414 01.01.2016 03:12:37 0.0 26.43當我應用帶有“強制”的 pd.to_datetime() 時,接下來會發(fā)生:df["Date] = pd.to_datetime(df["Date], errors="coerce", format= "%d.%m.%Y %H:%M:%S" )DatetimeIndex: 10001662 entries, 2016-01-01 00:32:09 to 2015-12-31 23:52:02這可以工作,但我在其中獲得了很多 NAT 值當我使用“忽略”應用 pd.to_datetime() 并檢查接下來發(fā)生的 DF 信息時:df["Date] = pd.to_datetime(df["Date], errors="ignore", format= "%d.%m.%Y %H:%M:%S" )劇照和對象Index: 10001662 entries, 01.01.2016 00:32:09 to 31.12.2015 23:52:02當我將 pd.to_datetime() 與“raise”一起應用時,它不起作用。對我做錯了什么有任何想法嗎?
1 回答

烙印99
TA貢獻1829條經(jīng)驗 獲得超13個贊
最后我得到了它。我沒有將格式應用于日期。我用這個:
df["Date"] = pd.to_datetime(df["Date"], errors="coerce", dayfirst=True )
我得到了我想要的,即使數(shù)據(jù)框中有重復的值。我必須放棄他們。
df = df.reset_index() df = df.drop_duplicates(keep="first")
一切就緒。
添加回答
舉報
0/150
提交
取消