如何在Python中改变Pandas的日期时间格式

  • Post category:Python

在Python中,我们可以通过Pandas库来处理日期时间格式的数据。Pandas提供了一种叫做Timestamp的数据类型,可以用于存储时间戳,并且支持一系列的操作,例如解析字符串、日期格式化、日期加减、时区转换等。

对于一个Pandas DataFrame或Series对象,我们可以通过调用它们的.dt属性来操作日期时间格式。在.dt属性中,有许多属性和方法可以用来操作日期时间数据,例如yearmonthdayhourminutesecondmicrosecond等等。

如果我们想要改变Pandas的日期时间格式,可以使用.dt.strftime()方法,该方法可以把日期时间对象转换为字符串,并且可以指定输出格式。常见的日期时间格式指令可以参考Python官方文档中的时间格式码说明。

下面演示一个例子,我们有一个Pandas DataFrame对象,它包含了两列日期时间数据,我们要把这两列日期时间数据转换为美国的日期时间格式。

import pandas as pd

df = pd.DataFrame({'date1': ['2021-05-01 09:00:00', '2021-05-02 10:00:00'],
                   'date2': ['2021-05-03 11:00:00', '2021-05-04 12:00:00']})
print(df)

输出结果:

                 date1                date2
0  2021-05-01 09:00:00  2021-05-03 11:00:00
1  2021-05-02 10:00:00  2021-05-04 12:00:00

我们可以使用.dt.strftime()方法来改变日期时间格式,实现代码如下:

df['date1'] = pd.to_datetime(df['date1'])
df['date1'] = df['date1'].dt.strftime('%m/%d/%Y %I:%M %p')

df['date2'] = pd.to_datetime(df['date2'])
df['date2'] = df['date2'].dt.strftime('%m/%d/%Y %I:%M %p')

print(df)

输出结果:

               date1              date2
0  05/01/2021 09:00 AM  05/03/2021 11:00 AM
1  05/02/2021 10:00 AM  05/04/2021 12:00 PM

在上述代码中,我们首先将日期时间数据转换为Pandas的Timestamp类型,然后使用.dt.strftime()方法来改变日期时间格式,最后将修改后的数据赋值回原来的DataFrame对象中。

总之,在Python中改变Pandas的日期时间格式,我们只需要使用.dt.strftime()方法并指定输出的格式即可。如果我们想更加了解Pandas的日期时间格式及相关的操作,请参考Panda官方文档的DatetimeIndex和Series.dt节。