熊猫数据框中的圆形日期

时间:2017-07-25 12:33:38

标签: python pandas datetime

我试图将日期从下面的数据框到下个月的第一天 - 即1997-10-10将导致1997-11-01:

Date

1997-10-10
1997-05-27
1997-04-30
1997-12-19
1997-08-12

目前我的代码如下:

df = pd.read_csv(XXX)

df['Date'] = pd.to_datetime(df.Date)
df['Date'] = df['Date'].dt.date.replace(day = 1)

根据python library documentation

date.replace(year=self.year, month=self.month, day=self.day)
Return a date with the same value, except for those parameters given new values by whichever keyword arguments are specified. For example, if d == date(2002, 12, 31), then d.replace(day=26) == date(2002, 12, 26).

我曾假设我只能使用.replace只有一个参数 - 一天 - 但是我收到了一些错误。

1 个答案:

答案 0 :(得分:3)

我认为你需要MonthBegin(0)

df['Date'] = pd.to_datetime(df.Date) + pd.offsets.MonthBegin(0)
print (df)
        Date
0 1997-11-01
1 1997-06-01
2 1997-05-01
3 1998-01-01
4 1997-09-01