簡體   English   中英

如何將列中的所有數據轉換為日期時間 - pandas

[英]How to convert all data in column to datetime - pandas

我有一個很大的 dataframe,在它的date列中,混合了多種日期格式(只有 2 種)。

大多數數據格式正確,但有些數據格式不同。

即大多數是2013-11-07 有些是20170510 當我嘗試根據我擁有的模式驗證代碼時,Pandas 拋出異常。

有沒有一種快速的方法可以將所有日期轉換為與大多數日期具有相同的格式? 還是我必須做一些更痛苦/手動的事情?

IE

             date                      \
0            2013-11-07                False   
2            2013-11-07                False      
...               ...    ...    ...         ...                  ...   
3595037      20170510                  NaN   
3595038      20200701                  NaN   

有沒有一種快速的方法可以將所有日期轉換為與大多數日期具有相同的格式?

考慮到您只有兩種格式,一種由2013-11-07表示,另一種由20170510表示,足以刪除-從第一個開始獲得通用格式,即

import pandas as pd
df = pd.DataFrame({'day':['2013-11-07','20170510']})
df['day'] = df['day'].str.replace('-','')
print(df)

output

        day
0  20131107
1  20170510

pandas.to_datetime確實理解正確

df['day'] = pd.to_datetime(df['day'])
print(df)

output

         day
0 2013-11-07
1 2017-05-10

免責聲明:我轉換為少數而非多數的格式。 可以使用正則表達式將其轉換為多數格式,但是如果您對日期時間對象感興趣,這是不必要的復雜化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM