【问题标题】:Make date format similiar in data set pandas在数据集 pandas 中使日期格式相似
【发布时间】:2020-08-24 06:51:58
【问题描述】:

我想让日期列中所有行的日期格式相同。例如,第 19 行的日期格式不同。这只是数据集的一部分。也有不同的行具有相同的格式。那么我该怎么做才能使所有行中的所有日期格式都相同?

我尝试过使用

Covid_data['date'] = pd.to_datetime(Covid_data['date'], errors='coerce')

但它会将第 19 行的值转换为 NAT

16  Australia   2020-01-16  0.0 0.0 0.0 0.0 44648.71    25499881.0  
17  Australia   2020-01-17  0.0 0.0 0.0 0.0 44648.71    25499881.0  
18  Australia   2020-01-18  0.0 0.0 0.0 0.0 44648.71    25499881.0  
19  Australia   2020-19-01  0.0 0.0 0.0 0.0 44648.71    25499881.0   
20  Australia   2020-01-20  0.0 0.0 0.0 0.0 44648.71    25499881.0  
21  Australia   2020-01-21  0.0 0.0 0.0 0.0 44648.71    25499881.0  
22  Australia   2020-01-22  0.0 0.0 0.0 0.0 44648.71    25499881.0   

【问题讨论】:

  • 是的。这是因为日期格式不一致。
  • 这就是我想要做的。使所有行中的所有日期格式相同。

标签: python pandas date jupyter-notebook


【解决方案1】:

试试:

Covid_data['date']=pd.to_datetime(Covid_data['date'].dt.strftime('%Y/%m/%d'))

编辑:试试这个

【讨论】:

  • 显示此错误 AttributeError: Can only use .dt accessor with datetimelike values
  • 我已经编辑了解决方案。如果它仍然不起作用,您可能需要包括:errors='coerce'。
  • Same Error AttributeError: Can only use .dt accessor with datetimelike value
【解决方案2】:

您可以尝试使用dateparser 包,但我不知道您打算如何为2020-01-08 等日期确定合适的格式。

import pandas as pd
import dateparser

covid_data = pd.DataFrame({"date" : ["2020-01-18", "2020-19-01"]})

covid_data["date"].apply(dateparser.parse)

【讨论】:

    猜你喜欢
    • 2014-01-20
    • 2023-04-04
    • 1970-01-01
    • 2020-06-15
    • 2021-02-04
    • 2021-06-06
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    相关资源
    最近更新 更多