我的Python(熊猫)日期写成“1/31/2010”。要应用线性回归,我想要有3个单独的变量:日期数,月数,年数。
将包含pandas日期的列拆分为3列的方法是什么? 另一个问题是将相同但分组的天数分为3组:1-10,11-20,21-31。
答案 0 :(得分:3)
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
传递给您的函数即可。
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
答案 1 :(得分:0)
这只回答了您的第一个问题
一种解决方案是使用Supervision.Resume
提取pd.Timestamp
个对象的属性。
此方法的好处是您可以轻松扩展/更改所需的属性。此外,逻辑并非特定于对象类型。
operator.attrgetter