如何将此日期时间列转换为相同的格式?

jjjwad0x  于 2022-09-21  发布在  其他
关注(0)|答案(1)|浏览(234)

考虑我正在使用的 Dataframe 的这一部分:

df = pd.DataFrame({
't1': ['2016-04-13 14:21:20+01:00', '2016-04-20 12:46:50+01:00', '2016-04-27 07:32:32+01:00'],
't2': ['2016-04-13 15:37:08.943+01', '2016-04-20 12:54:53.082+01', '2016-04-27 07:45:41.649+01']
})

df
                 t1                           t2
0   2016-04-13 14:21:20+01:00   2016-04-13 15:37:08.943+01
1   2016-04-20 12:46:50+01:00   2016-04-20 12:54:53.082+01
2   2016-04-27 07:32:32+01:00   2016-04-27 07:45:41.649+01

t2有第二个分数,t1没有。我把这两个都变成了Pandasdatetime

df["t1"] = pd.to_datetime(df["t1"], utc=True)
df['t1'] = df['t1'].dt.tz_localize(None)

df["t2"] = pd.to_datetime(df["t2"], utc=True)
df['t2'] = df['t2'].dt.tz_localize(None)

所以:

t1                  t2
0   2016-04-13 13:21:20 2016-04-13 14:37:08.943
1   2016-04-20 11:46:50 2016-04-20 11:54:53.082
2   2016-04-27 06:32:32 2016-04-27 06:45:41.649

如何转换t2以删除这些分数,使其看起来像t1

ckx4rj1h

ckx4rj1h1#

可以按如下方式使用pandas.Series.dt.strftime

df['t2'] = df['t2'].dt.strftime('%Y-%m-%d %H:%M:%S')

[Out]:
                   t1                   t2
0 2016-04-13 13:21:20  2016-04-13 14:37:08
1 2016-04-20 11:46:50  2016-04-20 11:54:53
2 2016-04-27 06:32:32  2016-04-27 06:45:41

此方法支持与Python标准库相同的字符串格式。(Source)

因此,在这里我们将能够看到各种格式代码。

相关问题