如何从另一个 Dataframe (df2)的唯一值填充df1中的“0”值。预期输出在df1中不重复。
任何参考链接,谢谢你的帮助。
data1 = {'test' :['b',0,'e',0,0,'f']}
df1 = pd.DataFrame(data=data1)
data2 = {'test' :['a','b','c','d','e','f']}
df2 = pd.DataFrame(data=data2)
DF1
test
0 b
1 0
2 e
3 0
4 0
5 f
DF2
test
0 a
1 b
2 c
3 d
4 e
5 f
预期产出:
test
0 b -- df1
1 a -- fill with a from df2
2 e -- df1
3 c -- fill with c from df2
4 d -- fill with d from df2
5 f -- df1
2条答案
按热度按时间brgchamk1#
假设
df2
中有足够的唯一值来填充df1
中的0,提取这些唯一值,并使用布尔索引为它们赋值:输出:
如果
df2
中的值不总是足够的,并且您希望填充前几个可能的0:lf5gs5x22#
解决方案假设:
1.有一个类似“test”的列要操作