擅长:python、mysql、java
<p>可以使用设置索引值映射这些值</p>
<pre><code>df3 = df[['section','name']]
for col in ['overall','admission', 'room']:
df3[col] = df[col].map(df1.set_index(col)['rating'])
</code></pre>
<p>输出:</p>
<pre><code>name overall admission room
0 Supriya Bachal 5 4.0 2
1 Meena Kumari 4 4.0 2
2 Sunita Banik 4 5.0 4
3 Madhuri Bhat 5 5.0 5
4 Arushi Sharda 5 5.0 5
5 Vishwas Kini 5 5.0 5
6 Nishit goyal 4 4.0 4
7 Shibiraj Soni 5 NaN 5
</code></pre>
<p>编辑1</p>
<pre><code>#Time taken by solutions
df3 = df[['section','name']]
for col in ['overall','admission', 'room']:
df3[col] = df[col].map(df1.set_index(col)['rating'])
2.42 ms ± 70.6 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
#Shubham solution
%%timeit
df.replace(df1.melt('rating').pivot('value', 'variable', 'rating'))
4.82 ms ± 114 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
</code></pre>