在熊猫中将两列与if条件组合

时间:2019-12-05 18:19:27

标签: python pandas join merge

我有两列,其中某些条目的数据重叠(并且这样做时几乎相似)。

df = pd.DataFrame(
                  {'x':[2.1,3.1,5.4,1.9,np.nan,4.3,np.nan,np.nan,np.nan],
                   'y':[np.nan,np.nan,5.3,1.9,3.2,4.2,9.1,7.8,4.1]
                  }
                 )

我希望结果为一列“ xy”,其中当x和y都具有值时包含x和y的平均值,而当x和y中只有一个具有这样的值时包含x或y的平均值:

df['xy']=[2.1,3.1,5.35,1.9,3.2,4.25,9.1,7.8,4.1]

1 个答案:

答案 0 :(得分:4)

您在这里:

解决方案

df['xy'] = df[['x','y']].mean(axis=1)

输出

print(df.to_string())

     x    y    xy
0  2.1  NaN  2.10
1  3.1  NaN  3.10
2  5.4  5.3  5.35
3  1.9  1.9  1.90
4  NaN  3.2  3.20
5  4.3  4.2  4.25
6  NaN  9.1  9.10
7  NaN  7.8  7.80
8  NaN  4.1  4.10
相关问题