<p>我有两个数据帧,都有相同数量的列,并包含文本数据。问题是第二个数据帧中的数据缺少详细信息:</p>
<pre><code> A B
1 Bob Hoskins
2 Laura Hogan
3 Tom Jones
A B
1 Bob x
2 Bob x
3 Bob x
4 Laura x
5 Laura x
6 Tom x
</code></pre>
<p>在Pandas中,将第二个数据帧中“B”列的值设置为第一个数据帧中相应的条件值的最快方法是什么?所以任何一行中“A”=“Bob”都将“B”设为Hoskins,劳拉设置为Hogan,等等?第二个数据帧也相当大,有100000行,因此首选快速解决方案。在</p>
<p>您可以将<code>A</code>设置为第一个数据帧的索引,然后根据索引筛选行:</p>
<pre><code>df.set_index('A').loc[df1.A].reset_index()
# A B
# 0 Bob Hoskins
# 1 Bob Hoskins
# 2 Bob Hoskins
# 3 Laura Hogan
# 4 Laura Hogan
# 5 Tom Jones
</code></pre>