Python - 按日期范围填充 NaN

时间:2021-05-20 12:23:47

标签: python

我有一个数据框,当:

  • 其中一列是日期列。
  • 另一列是 X 列,该列缺少值。

我想用特定日期范围填充 X 列。

到目前为止我得到了这个代码:

df[df['Date'] < datetime.date(2017,1,1)]['X'].fillna(1,inplace=True)

但它不起作用,我没有收到错误消息,但数据未填充。 还有一点看起来很乱,也许有更好的方法。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

首先,您需要创建数据框:

import pandas as pd
df = pd.DataFrame({'Date': ['2016-01-01', '2018-01-01']})
df['Date'] = pd.to_datetime(df['Date'])

接下来可以有条件地设置列值:

df.loc[df['Date'] < '2017-01-01','X'] = 1

结果是这样的:

    Date        X
0   2016-01-01  1.0
1   2018-01-01  NaN
相关问题