【发布时间】:2021-09-13 21:03:12
【问题描述】:
我有以下数据框,其中包含两个日期,其中一个包含时区。
df = pd.DataFrame(np.array([[10, "2021-06-13 12:08:52.311 UTC", "2021-03-29 12:44:33.468"],
[36, "2019-12-07 12:18:02.311 UTC", "2011-10-15 10:14:32.118"]
]),
columns=['col1', 'date1', 'date2'])
df
以下是我将它们从字符串转换为日期时间的方法:
df["date1"]= pd.to_datetime(df["date1"])
df["date2"]= pd.to_datetime(df["date2"])
返回:
col1 date1 date2
0 10 2021-06-13 12:08:52.311000+00:00 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311000+00:00 2011-10-15 10:14:32.118
有时,我需要比较这两个日期以查找相同的值。为此,我需要它们以相同的格式和相同的位数编写。这说, 如何从 date1 中删除时区,使其与 date2 中的格式相同?
utc=None 作为pd.to_datetime 的默认值,所以这不起作用...
我假设两个日期都是 UTC。在原始数据中,这些是不同数据集的一部分,这就是它们具有不同格式的原因。
【问题讨论】:
-
使用
localizedf["date1"] = pd.to_datetime(df["date1"]).dt.tz_localize(None)
标签: python pandas dataframe datetime timezone