Python: 在两个日期时间列中匹配相同的日期格式
Python: Match same date format in two date time columns
我有以下数据框,其中有两个日期,其中一个包含时区。
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"])
哪个returns:
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。在原始数据中,这些是不同数据集的一部分,这就是它们具有不同格式的原因。
您可以执行以下两项操作之一:
df["date1"]= pd.to_datetime(df["date1"], format="%Y-%m-%d %H:%M:%S.%f UTC")
df["date2"]= pd.to_datetime(df["date2"], format="%Y-%m-%d %H:%M:%S.%f")
>>> df
col1 date1 date2
0 10 2021-06-13 12:08:52.311 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311 2011-10-15 10:14:32.118
或者:
df["date1"]= pd.to_datetime(df["date1"].str.replace(" UTC", ""))
df["date2"]= pd.to_datetime(df["date2"])
>>> df
col1 date1 date2
0 10 2021-06-13 12:08:52.311 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311 2011-10-15 10:14:32.118
我有以下数据框,其中有两个日期,其中一个包含时区。
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"])
哪个returns:
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。在原始数据中,这些是不同数据集的一部分,这就是它们具有不同格式的原因。
您可以执行以下两项操作之一:
df["date1"]= pd.to_datetime(df["date1"], format="%Y-%m-%d %H:%M:%S.%f UTC")
df["date2"]= pd.to_datetime(df["date2"], format="%Y-%m-%d %H:%M:%S.%f")
>>> df
col1 date1 date2
0 10 2021-06-13 12:08:52.311 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311 2011-10-15 10:14:32.118
或者:
df["date1"]= pd.to_datetime(df["date1"].str.replace(" UTC", ""))
df["date2"]= pd.to_datetime(df["date2"])
>>> df
col1 date1 date2
0 10 2021-06-13 12:08:52.311 2021-03-29 12:44:33.468
1 36 2019-12-07 12:18:02.311 2011-10-15 10:14:32.118