python - 用其他数据帧替换数据帧中的空值

标签 python pandas dataframe null key-value

我有两个数据帧,我想用 key(X) 上的其他数据帧替换 null 值,并使用 how ='left' (DF1)。非常感谢。

DF1
X | Y
1 | a
2 | NaN
3 | c 

DF2
X | Y
1 | a 
2 | b
3 | NaN
4 | d

OUTPUT
X | Y
1 | a
2 | b
3 | c

最佳答案

使用mapfillna如:

df1['Y'] = df1['X'].map(df2.set_index('X')['Y']).fillna(df1['Y'])

或者使用np.where作为:

df1['Y'] = np.where(df1.Y.isnull(),df1['X'].map(df2.set_index('X')['Y']),df1['Y'])

print(df1)
   X  Y
0  1  a
1  2  b
2  3  c

关于python - 用其他数据帧替换数据帧中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53099923/

相关文章:

python - 如何根据列表中的项目复制 Pandas 中的行

Python Pandas 发现两个分布之间的统计差异

python - Pandas read_csv() - Flie 包含不同的数据

python - 如何使用条件对 numpy 3D 数组中的值求和?

python - 通过 http 连接仅获取 mp3 文件的最后 128 个字节

python - 作为另一个函数的参数的函数

python - 如何在numpy中的二维矩阵中随机采样

python - Pandas 获得每组中最重要的不同记录

python - Pandas 数据框枢轴不适合内存

apache-spark - 如何遍历pyspark中的每一行dataFrame