2024-10-01 11:31:43 发布
网友
我有两个数据帧df_1和df_2。两者都有一个索引datetimecode,它是一个pd.datetime64对象和一个temp列。我想遍历df_1,并用'df_2'中的相应temp替换所有NaN温度值。在
df_1
df_2
datetimecode
pd.datetime64
temp
'df_2'
像这样:
for index, row in df_1.iterows(): row['temp'] = df_2[index]['temp'] if row['temp'] ==np.nan
但这是无效的
这就是你要找的:
df_1 = pd.DataFrame({'temp': [1,2,3,np.nan,5,np.nan,7]}) temp 0 1.0 1 2.0 2 3.0 3 NaN 4 5.0 5 NaN 6 7.0 df_2 = pd.DataFrame({'temp': [8,9,10,11,12,13,14]}) temp 0 8 1 9 2 10 3 11 4 12 5 13 6 14 df_1.temp.fillna(df_2['temp'], inplace=True) temp 0 1.0 1 2.0 2 3.0 3 11.0 4 5.0 5 13.0 6 7.0 temp 0 8 1 9 2 10 3 11 4 12 5 13 6 14
IIUC公司
df_1.fillna(df_2, inplace=True)
或者
演示
df_1.loc[df_1.temp.isnull(), 'temp'] = df_2.temp df_1
这就是你要找的:
IIUC公司
或者
^{pr2}$演示
^{3}$相关问题 更多 >
编程相关推荐