【发布时间】:2021-06-25 06:09:52
【问题描述】:
假设我有两个这样的数据框:
n = {'x':['a','b','c','d','e'], 'y':['1','2','3','4','5'],'z':['0','0','0','0','0']}
nf = pd.DataFrame(n)
m = {'x':['b','d','e'], 'z':['10','100','1000']}
mf = pd.DataFrame(n)
我想用 mf 数据帧中 z 列的值更新 nf 数据帧中 z 列中的零值,仅在具有 x 列键的行中
当我打电话时
nf.update(mf)
我明白了
x y z
b 1 10
d 2 100
e 3 1000
d 4 0
e 5 0
而不是所需的输出
x y z
a 1 0
b 2 10
c 3 0
d 4 100
e 5 1000
【问题讨论】:
-
这是因为
.update()替换相对于索引的值,在您的情况下,您希望它替换相对于column x的值 -
那我该怎么做呢?
-
这些答案之一是否解决了您的问题?如果没有,您能否提供更多信息来帮助回答?否则,请考虑标记最能解决您的问题的答案(上/下投票箭头下的复选标记)。见What should I do when someone answers my question? 和How does accepting an answer work?
标签: python pandas dataframe indexing