![](/img/trans.png)
[英]Replace rows of strings in dataframe with corresponding words in other dataframe pandas
[英]pandas replace rows in dataframe with other dataframe
我有一个 Pandas 数据框,我想使用两个条件索引行的子集,然后用我创建的新数据框替换该子集。 但是,正如您在下面看到的那样,它仅替换具有相同索引的行。 如何对齐数据框的索引,以便替换适用于所有行?
df = pd.DataFrame({'A': [-4, 9, 6, -3],
'B': ['y', 'b', 'b','x']})
df
Out[581]:
A B
0 -4 y
1 9 b
2 6 b
3 -3 x
replacement = pd.DataFrame({'A':[-7, -4], 'B':['y','x']})
replacement
Out[583]:
A B
0 -7 y
1 -4 x
df.loc[(df['A']>0) & (df['B']=='b')] = replacement
df
Out[585]:
A B
0 -4.0 y
1 -4.0 x
2 NaN NaN
3 -3.0 x
你想要的IIUC
>>> df.loc[(df['A']>0) & (df['B']=='b')] = replacement.values
>>> df
A B
0 -4 y
1 -7 y
2 -4 x
3 -3 x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.