我试图替换特定列中日期大于特定日期的所有 DateTime 值。
df
的示例如下所示。
date
2016-01-03
2016-01-03
2016-01-03
2016-01-02
2016-01-02
2016-01-02
2016-01-01
2016-01-01
2015-12-31
2015-12-31
2015-12-31
我希望所有大于 2016-01-01
的日期都显示为 2016-01-01
。
我想要的预期输出如下所示。
date
2016-01-01
2016-01-01
2016-01-01
2016-01-01
2016-01-01
2016-01-01
2016-01-01
2016-01-01
2015-12-31
2015-12-31
2015-12-31
如能提供任何帮助,我们将不胜感激。
最佳答案
使用Series.clip
带日期时间 - 例如带时间戳
:
#if necessary
#df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].clip(upper=pd.Timestamp('2016-01-01'))
print (df)
date
0 2016-01-01
1 2016-01-01
2 2016-01-01
3 2016-01-01
4 2016-01-01
5 2016-01-01
6 2016-01-01
7 2016-01-01
8 2015-12-31
9 2015-12-31
10 2015-12-31
关于python - 替换日期大于其他日期的 DateTime 列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56495938/