首页 > 解决方案 > 在 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']

标签: pythonpandasdataframe

解决方案


这个问题并不完全清楚。我在这里是什么?如果 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)

推荐阅读