这可能很容易,但我无法理解。
我有两个数据帧
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']
})
我想在da0
上添加一个新列。该列应该采用'F'
中da1
列的值,该值对应于'E'
中的da1
和'B'
中的da0
之间的匹配。在示例中,结果应该是
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']
})
我尝试用da0
对'B'
进行分组然后使用transform但后来我不知道如何在自定义函数中使用该组的名称。
我该怎么做?