我有两个熊猫数据帧first
和second
。对于second
中的每个Second_ID
,我希望确定相同的ID在first
中的位置,然后将相应的值相乘。例如,second
中的'Tony'
对应的值为4和11。first
中的'Tony'
对应的值为20。我希望以某种方式将4和11乘以20,并将结果作为新列添加到second
中。
换句话说,我希望看到second
中的ID与first
中的ID匹配的位置,将这两个值相乘,然后将这些新值作为列添加到第二个数据帧中。first
中的条目都是唯一的,而second
中的条目不一定是唯一的。
df1 = pd.DataFrame({'First_ID': ['Jill', 'John', 'Marc', 'Tony', 'Bob']})
df2 = pd.DataFrame({'Value': [6, 10, 0, 20, 100]})
first = pd.DataFrame.join(df1,df2)
df4 = pd.DataFrame({'Second_ID': ['Jill', 'John', 'Tony', 'Bob', 'Tony']})
df5 = pd.DataFrame({'Value': [2, 3, 4, 5, 11]})
second = pd.DataFrame.join(df4,df5)
------------------
First_ID Value
0 Jill 6
1 John 10
2 Marc 0
3 Tony 20
4 Bob 100
Second_ID Value
0 Jill 2
1 John 3
2 Tony 4
3 Bob 5
4 Tony 11
Output:
Second_ID Value NewVal
0 Jill 2 12
1 John 3 30
2 Tony 4 80
3 Bob 5 500
4 Tony 11 220
转载请注明出处:http://www.jndeho.com/article/20230526/2581338.html