回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这可能是一个简单的问题,但我想不出来</p>
<p>我有两个数据帧</p>
<pre><code>import numpy as np
import pandas
da0 = pandas.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B' : ['two', 'one', 'two', 'three',
'three', 'one', 'two', 'two'],
'C' : np.random.randn(8),
'D' : np.random.randn(8)
})
da1 = pandas.DataFrame({'E' : ['one', 'two', 'three'],
'F' : ['alpha', 'beta', 'gamma']
})
</code></pre>
<p>我想在<code>da0</code>中添加一个新列。此列应该从<code>da1</code>中的<code>'F'</code>列中获取与<code>da1</code>中的<code>'E'</code>和<code>da0</code>中的<code>'B'</code>之间的匹配对应的值。在本例中,结果应为</p>
<pre><code>da0 = pandas.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
'foo', 'bar', 'foo', 'foo'],
'B' : ['two', 'one', 'two', 'three',
'three', 'one', 'two', 'two'],
'C' : np.random.randn(8),
'D' : np.random.randn(8),
'new': ['beta', 'alpha', 'beta', 'gamma', 'gamma',
'alpha', 'beta', 'beta']
})
</code></pre>
<p>我试着用<code>'B'</code>对<code>da0</code>进行分组,然后使用transform,但是我不知道如何在自定义函数中使用组的名称</p>
<p>我该怎么做</p>