所以我有两个数据帧,一个是数据帧stocks['OPK']
字典的单个数据帧,另一个只是一个简单的Pandas数据帧df
。
这是一段df,df.loc['2010-01-04':, 'Open']
,与其他数据帧相比,我很有意思。
Date Open
2010-01-04 1.80
2010-01-05 1.64
2010-01-06 1.90
2010-01-07 1.79
2010-01-08 1.92
2010-01-11 1.90
2010-01-12 1.89
2010-01-13 1.82
2010-01-14 1.84
2010-01-15 1.85
2010-01-19 1.77
这是另一个数据框stocks['OPK'].Open
2010-01-04 1.80
2010-01-05 1.64
2010-01-06 NaN
2010-01-07 1.79
2010-01-08 NaN
2010-01-11 1.90
2010-01-12 1.89
2010-01-13 1.82
2010-01-14 NaN
2010-01-15 1.85
2010-01-19 NaN
尽可能地,第二个数据帧缺少值。
由于两个索引都是日期时间格式,我希望能够将stock['OPK'].Open
与df.loc['2010-01-04':, 'Open']
进行比较,并使用第一个数据框df
中的值填充缺失值
我可以使用此代码执行布尔过滤器,但我不知道如何从那里继续:
stocks['OPK'].Open == df.loc['2010-01-04':, 'Open']
pd.merge
及其各自选项的问题在于它似乎增加了额外的内容
列。我只想通过比较可能具有缺失值的另一个数据帧来填充缺失值(如果有的话)。
谢谢。
答案 0 :(得分:3)
您可以使用fillna()
void onObjectMaterialized(object sender, ObjectMaterializedEventArgs e) {
// your code here
}
另一种更快捷的方法是combine_first
df2 = df2.fillna(df1)
两者都将返回
df2 = df2.combine_first(df1)