【问题标题】:transform a list of datetimes in a pandas column to list of strings将 pandas 列中的日期时间列表转换为字符串列表
【发布时间】:2022-09-23 01:40:09
【问题描述】:

我有以下pandas 数据框

import pandas as pd
import datetime

foo = pd.DataFrame({\'id\': [1,2], \'time\' :[[datetime.datetime(2021, 10, 20, 14, 29, 51), datetime.datetime(2021, 10, 20, 14, 46, 8)], [datetime.datetime(2021, 10, 20, 15, 0, 44), datetime.datetime(2021, 10, 20, 16, 13, 42)]]})
foo

id  time
0   1   [2021-10-20 14:29:51, 2021-10-20 14:46:08]
1   2   [2021-10-20 15:00:44, 2021-10-20 16:13:42]

我想将time 列中列表的每个元素转换为格式为\'%Y/%m/%d %H:%M:%S\' 的字符串

我知道我可以这样做:

t = datetime.datetime(2021, 10, 20, 14, 29, 51)
t.strftime(\'%Y/%m/%d %H:%M:%S\')

产生值\'2021/10/20 14:29:51\'

但我不知道如何对time 列中每个列表的每个元素执行此操作。

有什么帮助吗?

    标签: python pandas


    【解决方案1】:

    您只需要在apply 中使用列表推导:

    foo.time.apply(lambda lst: [item.strftime('%Y/%m/%d %H:%M:%S') for item in lst])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 2021-09-29
      • 2019-01-14
      • 2019-04-24
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      相关资源
      最近更新 更多