【问题标题】:Split date in pandas大熊猫分割日期
【发布时间】:2018-05-01 04:37:59
【问题描述】:

在 excel 文件中,我有列“日期”,其中包含以下格式的日期: 11/17/2017 2:40:40 PM 这转换为 月/日/年 H:M:S

在 Pandas 中导入此文件时,其 dtype 为 <M8[ns]

所以,我想拆分这些值。所需的输出必须是 2017 年 11 月 17 日,并且它的格式必须与我们在 excel 文件中进行拆分时的格式相同。我的意思是,我需要像 2017 年 11 月 17 日这样的值,但将此日期格式化为仅显示日期和月份,如下所示:17-Nov

我尝试了几种方法,但都没有奏效。谁能帮帮我?

【问题讨论】:

  • 那么您是否需要datetimes 格式为11/17/2017 而不是字符串?
  • 或者需要df['date'].dt.strftime('%d-%b')
  • 是的,我需要格式为 11/17/2017 的日期时间,而不是字符串。输出值必须是日期时间格式而不是字符串
  • 对不起,我需要第二个,但日期时间格式
  • 我检查过,效果很好

标签: python excel pandas datetime dataframe


【解决方案1】:

您似乎需要strftime,因为如果需要17-Nov 作为日期时间,那么在python 中是不可能的:

df = pd.DataFrame({'date':pd.to_datetime(['11/17/2017 2:40:40 PM','11/17/2017 2:40:40 PM'])})
print (df)
                 date
0 2017-11-17 14:40:40
1 2017-11-17 14:40:40

print (df['date'].dt.strftime('%d/%m/%Y'))
0    17/11/2017
1    17/11/2017
Name: date, dtype: object

print (df['date'].dt.strftime('%d-%b'))
0    17-Nov
1    17-Nov
Name: date, dtype: object

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 2013-10-26
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    相关资源
    最近更新 更多