【问题标题】:Distinguish between, for example, month February (02) and date 02 in pandas date column in Python例如,区分 Python 中 pandas 日期列中的二月 (02) 月份和日期 02
【发布时间】:2021-03-18 07:46:11
【问题描述】:

我是 Python 新手,我正在从事一个处理时间序列数据的项目。我有一个包含我的数据集日期的 pandas 数据框,可以在下面看到一个小示例(日期范围为一整年):

result_time: 2021-01-01 00:00:08, 2021-01-01 00:00:18, 2021-01-01 00:00:28...

我正在处理此列以确定具体日期是否为工作日。当处理移至 1 月的第二天,即:2021-02-01 12:07:17、2021-02-01 12:07:27、2021-02-01 12:07:37 等等,日期 (02) 的日部分被视为二月。我试图让它工作,但没有运气。

例如,我尝试了以下但没有任何效果。请任何建议将不胜感激!

df_uci['result_time1'] = df_uci['result_time'].dt.strftime('%YYYY-%dd-%mm %HH:%mm:%ss')
df_uci['result_time1'] = pd.to_datetime(df_uci['result_time1'])
df_uci['Weekday1'] = df_uci['result_time1'].dt.day_name()

【问题讨论】:

  • 我从未见过 YYYY-DD-MM
  • 从你的问题我看不出你的问题出在哪里。您能否发布df_uci.info() 的输出以检查'result_time' 列的类型以及您的代码sn-ps 的错误或输出?该代码看起来应该可以工作,所以我猜问题是您的数据格式存在一些特殊性。

标签: python pandas date


【解决方案1】:

尝试使用带有 format 属性的pd.to_datetime() 函数。在这里,您可以定义如何解释您的数据。 (特别是,您的日子似乎早于您的月份)
在你的情况下应该这样做:

df_uci['result_time_as_datetime'] = pd.to_datetime(df_uci['result_time'], format="%Y-%d-%m %H:%M:%S")

df_uci['Weekday1'] = df_uci['result_time_as_datetime'].dt.day_name()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    相关资源
    最近更新 更多