python - 在 Pandas 中使用 Or 语句进行赋值?
问题描述
我有两个数据框
df1
a b c
0 Sussex NaN NaN
df2
d e f g
0 NaN NaN NaN NaN
我正在尝试使用 Or 语句从 df1['a'] 或 df2['d'] 分配 df3['i']
我想要的输出:
df3
i
0 sussex
对于我分配的单个值 df3['i'] = df2['d']
解决方案
这个问题并不完全清楚。我在这里是什么?如果 df1['a'] 或 df2['d'] 是第一次迭代,那么第二次迭代是 df1['b'] 还是 df2['e'] ?迭代在哪里结束?冗长的解决方案,不确定这是否是您正在寻找的
def applymapfunction(df1,df2):
df3 = pd.DataFrame()
if not df1['a'].empty:
df3[0] = df1['a']
return df3
else:
df3[0]= df2['d']
return df3
df3 =applymapfunction(df1,df2)