Python 基于表中另一列的抵销日期

Python 基于表中另一列的抵销日期,python,pandas,date,Python,Pandas,Date,它不应该像15应该是15,8应该是8那样改变一个月的天数。如果是31到30岁,反之亦然。最重要的是,我不想使用.apply()。谢谢 这应该可以解决这个问题。 请检查您的columnx中是否有datetime格式,然后在下面运行 编辑 如果您有相对较少的唯一偏移量,您可以这样做:只使用months=而不是years。在这种情况下可行吗?伟大的人,令人印象深刻!这是一个惊人的解决方案。这不是什么复杂的方法,但它非常符合逻辑。谢谢,它对我有用。@Alolz嗨,我有一个问题没有解决,你介意也调查一下吗

它不应该像15应该是15,8应该是8那样改变一个月的天数。如果是31到30岁,反之亦然。最重要的是,我不想使用.apply()。谢谢

这应该可以解决这个问题。 请检查您的columnx中是否有datetime格式,然后在下面运行

编辑


如果您有相对较少的唯一偏移量,您可以这样做:只使用
months=
而不是years。在这种情况下可行吗?伟大的人,令人印象深刻!这是一个惊人的解决方案。这不是什么复杂的方法,但它非常符合逻辑。谢谢,它对我有用。@Alolz嗨,我有一个问题没有解决,你介意也调查一下吗?我真的很感激你抽出时间来帮助我。但是,时间差计算天数和分钟,假设日期为2016-11-15,您将pd添加到时间差(2,“M”)中,它将为您提供2016-11-14 20:00:00,在这种情况下,它会将日期15更改为14,这是限制。同样,如果您使用4(包括2月份),它将更改日期2017-03-16 17:56:24,因为2月份的天数减少了2天。您有其他解决方案吗?请重新检查是否可行?
columnx      columny    results
2019-02-15      2        2019-04-15
2019-05-08      1        2019-06-08
df["results"]=df["columnx"]+ df['columny'].astype('timedelta64[M]'))