python - Pandas to_datetime 未将日期时间值格式化为所需格式 (dd/mm/YYYY HH :MM:SS AM/PM)

标签 python pandas datetime datetime-format

我有以下格式的日期时间值

    2017-09-11 01:18:38
    2017-09-11 01:34:30
    2017-09-11 05:03:57
    2017-09-11 09:55:48
    2017-09-11 09:59:10
    2017-09-11 12:09:05

我必须以 dd/mm/YYYY HH:MM:SS AM/PM 格式显示值:

    11/09/2017  01:18:38 AM
    11/09/2017  01:34:30 AM
    11/09/2017  05:03:57 AM
    11/09/2017  09:55:48 AM
    11/09/2017  09:59:10 AM
    11/09/2017  12:09:05 PM
    11/09/2017  12:08:16 PM

我正在使用下面的代码来做到这一点,但是它不会改变格式

data_f1['Reported Date'] = pd.to_datetime(data_f1['Reported Date'], 
   format="%m/%d/%Y %I:%M:%S %p")

最佳答案

给定一个字符串列,使用pd.to_datetime将其转换为日期时间对象列。

给定一个已经存在的日期时间列,使用dt.strftime 将其转换为特定格式的字符串列。

这就是它的工作原理,您无法更改它。

df

                 date
0 2017-09-11 01:18:38
1 2017-09-11 01:34:30
2 2017-09-11 05:03:57
3 2017-09-11 09:55:48
4 2017-09-11 09:59:10
5 2017-09-11 12:09:05

df.date.dt.strftime("%m/%d/%Y %I:%M:%S %p")

0    09/11/2017 01:18:38 AM
1    09/11/2017 01:34:30 AM
2    09/11/2017 05:03:57 AM
3    09/11/2017 09:55:48 AM
4    09/11/2017 09:59:10 AM
5    09/11/2017 12:09:05 PM
Name: date, dtype: object

请注意,更改 datetime 列的表示没有用,因为它们是 datetime 对象,并拥有由其类的 __repr__ 方法定义的自己的表示。

关于python - Pandas to_datetime 未将日期时间值格式化为所需格式 (dd/mm/YYYY HH :MM:SS AM/PM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46930201/

相关文章:

python - 将 df1 与 df2 匹配并将其替换为索引值(非内部连接)

c# - 创建一个只有月和日的日期时间,没有年份

javascript - angular js日期输入格式

python - pandas - 仅当列包含某些值时才写入 csv

android - 如何检查字符串是否是有效的 Joda DateTime

python - list_iterator 类在哪里定义?

python - tkinter:如何按顺序将字符串列表添加到按钮上的文本?

python - 用 pandas 求和不同的列。 Python

python - 如何返回最后一个大于 x 的元素的值

python - pandas 中查找的多种条件