【发布时间】:2021-09-19 19:10:50
【问题描述】:
帮助循环比较不同表中的两列,并将匹配项返回到第一个表。
data1:
|name | revenue |
|-------|---------|
|Alice | 700 |
|Bob | 1000 |
|Gerry | 300 |
|Alex | 600 |
|Kyle | 800 |
data2:
|Name | revenue |
|-------|---------|
|Bob | 900 |
|Gerry | 400 |
result data1:
|name | revenue | name_result |
|-------|----------|--------------|
|Alice | 700 | |
|Bob | 1000 | Bob |
|Gerry | 300 | Gerry |
|Alex | 600 | |
|Kyle | 800 | |
我尝试使用此代码,但得到了所有空值:
import pandas as pd
import numpy as np
def group_category(category):
for name in data['name']:
if name in data2['Name']:
return name
else: name = ''
return name
data['name_result'] = data['name'].apply(group_category)
【问题讨论】:
-
您使用哪个模块来处理数据帧?
pandas或r? -
我正在使用熊猫
-
你读过pandas-merging-101吗?
-
如果您仍然没有找到方法,请告诉我
-
不合并怎么办?稍后我想在另一个任务中使用相同的代码: def group_category(category): for name in data['name']: if name in data2['Name']: return 'organic' else: name return name data['name_result '] = data[data['name'] == 'notorganic'].apply(group_category)