从日期列中获取月份

Posted

技术标签:

【中文标题】从日期列中获取月份【英文标题】:Get month from date column 【发布时间】:2018-12-08 16:49:04 【问题描述】:

我需要从数据库中的“日期时间”列中提取月份,并将其放在每一行的单独列中。我尝试了下面的代码和许多其他代码。

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

for x in df3['DatumTijdOverlijden']:
    a = 'DatumTijdOverlijden'
    datee = datetime.datetime.strptime(a, "%Y-%m-%d %H:%M:%S)
    df3.set_value(y, 'Month', datee)
    y+=1

【问题讨论】:

相关:***.com/questions/25146121/… 【参考方案1】:

此任务不需要循环。只需从您的datetime 系列中提取pd.Series.dt.month 属性。如果您需要将月份作为字符串,您可以使用pd.Series.dt.strtime 方法。以下是一些示例:

df = pd.DataFrame('Date': ['05-01-2018', '02-20-2020'])

df['Date'] = pd.to_datetime(df['Date'])
df['Month'] = df['Date'].dt.month
df['Month-str'] = df['Date'].dt.strftime('%b')
df['Month-str-full'] = df['Date'].dt.strftime('%B')

print(df)

        Date  Month Month-str Month-str-full
0 2018-05-01      5       May            May
1 2020-02-20      2       Feb       February

【讨论】:

以上是关于从日期列中获取月份的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Presto 中的日期获取月份名称

如何从列中删除日期和月份(类型:datetime64)[重复]

从日期获取月份名称

从jooq中的日期获取月份名称

为啥我不能从我的 DataFrame 中的“日期”列中提取月份的列? [复制]

从 Oracle 中的日期获取月份名称