簡體   English   中英

獲取 pandas dataframe 中的所有列,當不同列中存在不同時區時,該列是日期列

[英]Get all columns in a pandas dataframe that is a date-column when different time-zones are present in different columns

(注意, 這個SO 問題沒有考慮到不同的時區,即它沒有捕捉到存在時區的日期)。

我有一個 dataframe ,其中一些列 dtypes 是datetime64[ns] ,有些是datetime64[ns,UTC]

請注意,它們都已使用

df["some_time_col"] = pd.to_datetime(df["some_time_col"])但由於df是跨不同數據庫的數據合並,因此時區不同。

有沒有辦法讓所有列都是日期列,即像這樣

dt_cols = df.select_dtypes(include=[pd.datetime]).columns

而不必指定所有時區,如

dt_cols = df.select_dtypes(include=["datetim64","datetime64[UTC]","datetime64[UTC+1]"...).columns

使用任何一個

dt_cols = df.select_dtypes(include=[np.datetime64]).columns
dt_cols = df.select_dtypes(include=["datetime64"]).columns

不捕捉datetime64[ns,UTC]但只捕捉 datetime64 datetime64[ns]

利用:

df.select_dtypes('datetimetz')

select_dtypes文檔:

對於 select Pandas datetimetz dtypes,使用 'datetimetz'(0.20.0 中的新功能)或 'datetime64[ns, tz]'

要選擇不帶 tz 和帶 tz 的datetime時間,請執行以下操作:

df.select_dtypes(['datetimetz', 'np.datetime64'])

暫無
暫無

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

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