【问题标题】:Series of datetime string to string format %d-%m-%Y [duplicate]日期时间字符串系列到字符串格式 %d-%m-%Y [重复]
【发布时间】:2019-10-09 12:34:26
【问题描述】:

我正在寻找的是一个具有日期列的数据框,但它没有数据类型 datetime64ns,它当前具有以下格式的类型对象 YYYY-mm-DD 我需要将此格式更改为 dmY

0     2019-05-14 
1     2019-05-14
2     2019-05-14
3     2019-05-14
4     2019-05-14

dataframe['fefuente'].apply(lambda x: f'{x:%d-%m-%Y}') 我目前有此代码,但出现以下错误 ValueError: Invalid format specifier

他想要得到的是这样的东西

0     14-05-2019
1     14-05-2019
2     14-05-2019
3     14-05-2019
4     14-05-2019

【问题讨论】:

  • pd.to_datetime(s).dt.strftime('%d-%m-%Y')
  • @WeNYoBen 是否真的需要先将列转换为日期时间?

标签: python python-3.x pandas


【解决方案1】:

您首先需要将列转换为日期时间对象。

dataframe['fefuente'] = pd.to_datetime(dataframe['fefuente'])

然后,正如 WeNYoBen 所说,您格式化日期时间。

dataframe['new_date']= dataframe['fefuente'].dt.strftime('%d-%m-%Y')

【讨论】:

  • 是否真的需要先将列转换为日期时间?
  • 是的。否则,Pandas 将无法将其格式化为所需的日期。
猜你喜欢
  • 2021-03-09
  • 2013-09-09
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
  • 2012-05-12
  • 2021-12-22
  • 2020-05-09
相关资源
最近更新 更多