【问题标题】:How to Convert Multiple Unix TimeStamp to Pandas Datetime?如何将多个 Unix 时间戳转换为 Pandas 日期时间?
【发布时间】:2018-04-12 21:44:39
【问题描述】:

尝试将多个 unix 时间戳转换为 pandas 中的日期时间时出现以下错误,我尝试设置值但似乎没有正确。

ValueError: 组装映射至少需要 [year, month, day] 被指定:[day,month,year] 缺失

代码如下:

pd.to_datetime(ksdata[['state_changed_at','created_at','launched_at']])

一定很简单,但我就是看不到。

文件示例

【问题讨论】:

  • 你能发布 ksdata.head() 吗?
  • @Vaishali 添加了标题的屏幕截图,找不到更优雅的方法:)

标签: python pandas datetime


【解决方案1】:

数据集有助于更轻松地测试解决方案,但无论如何对于 unix 时间戳,解决方案将是

ksdata[['state_changed_at','created_at','launched_at']] = ksdata[['state_changed_at','created_at','launched_at']].\
apply(pd.to_datetime, unit = 's')

正如@MaxU 建议的那样,如果您需要将所有以 '_at' 结尾的列转换为时间戳,您可以使用过滤它们

ksdata.filter(regex='_at$') 

【讨论】:

  • 我们可以尝试过滤以_at 结尾的列,如下所示:ksdata.filter(regex='_at$'),如果 OP 没有其他以 _at 结尾的列(不是 UNIX 时间戳)...
  • @MaxU,谢谢!让我更新答案。唯一的问题是,我们不知道数据框中有多少列以及它们的外观。
  • @Vaishali 谢谢!我总是忘记应用功能!我必须试着记住这一点:)
  • @MaxU 感谢您强调我可以使用过滤器,这又是我一直忘记的东西。
猜你喜欢
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-23
相关资源
最近更新 更多