蟒蛇 pandas .日期对象按单独的列拆分.

问题描述

我在 Python (pandas) 中有日期写为2010 年 1 月 31 日".要应用线性回归,我希望有 3 个单独的变量:天数、月数、年数.

I have dates in Python (pandas) written as "1/31/2010". To apply linear regression I want to have 3 separate variables: number of day, number of month, number of year.

将 pandas 中的日期列拆分为 3 列的方法是什么?另一个问题是将相同但分组的日子分成 3 组:1-10、11-20、21-31.

What will be the way to split a column with date in pandas into 3 columns? Another question is to have the same but group days into 3 groups: 1-10, 11-20, 21-31.


解决方案

df['date'] = pd.to_datetime(df['date'])

#Create 3 additional columns
df['day'] = df['date'].dt.day
df['month'] = df['date'].dt.month
df['year'] = df['date'].dt.year

理想情况下,您无需创建 3 个额外的列即可执行此操作,您只需将 Series 传递给您的函数.

Ideally, you can do this without having to create 3 additional columns, you can just pass the Series to your function.

In [2]: pd.to_datetime('01/31/2010').day
Out[2]: 31

In [3]: pd.to_datetime('01/31/2010').month
Out[3]: 1

In [4]: pd.to_datetime('01/31/2010').year
Out[4]: 2010

相关文章