我有一个数据框,当:
我想用特定日期范围填充 X 列。
到目前为止我得到了这个代码:
df[df['Date'] < datetime.date(2017,1,1)]['X'].fillna(1,inplace=True)
但它不起作用,我没有收到错误消息,但数据未填充。 还有一点看起来很乱,也许有更好的方法。
感谢您的帮助。
答案 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