【问题标题】:how to extract only date number from a date column which is in format Mmm-dd in padas dataframe如何从 padas 数据框中格式为 Mmm-dd 的日期列中仅提取日期编号
【发布时间】:2020-01-02 12:08:14
【问题描述】:

我有一个数据框(示例如下所示):

import pandas as pd
df = pd.DataFrame(data={'Date': ['Jan-1', 'Jan-1', 'Jan-4', 'Jan-4', 'Jan-5', 'Jan-6', 'Jan-6', 'Jan-6']})

即:

  Date
0 Jan-1
1 Jan-1
2 Jan-4
3 Jan-4
4 Jan-5
5 Jan-6
6 Jan-6
7 Jan-6

我只想从中提取一天的部分。这应该返回给我如下:

1
1
4
4
5
6
6
6

我正在尝试如下:

df['Date2'] = pd.to_datetime(df['Date'], format="%M-%d")

但这导致了错误......不确定我在这里做错了什么。 那么,在我的情况下,如何提取day

【问题讨论】:

标签: python pandas


【解决方案1】:

首先使用%b作为月份的匹配名称,然后使用Series.dt.day

df['Date2'] = pd.to_datetime(df['Date'], format="%b-%d").dt.day

或者如果可能的话提取数字并转换为整数:

df['Date2'] = df['Date'].str.extract('(\d+)').astype(int)

print (df)
    Date  Date2
0  Jan-1      1
1  Jan-1      1
2  Jan-4      4
3  Jan-4      4
4  Jan-5      5
5  Jan-6      6
6  Jan-6      6
7  Jan-6      6

【讨论】:

  • 哇。我从来不知道这个看起来很简单的问题会这么困难。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-29
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 2014-06-26
  • 2018-02-14
  • 1970-01-01
相关资源
最近更新 更多