方法一:
import pandas as pd
df1 = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50],
'c': ['p', 'q', 'r', 's', 't']
})
df2 = pd.DataFrame({
'x': [3, 4, 7, 9, 11],
'y': [100, 200, 300, 400, 500],
'z': ['A', 'B', 'C', 'D', 'E']
})
# 使用isin()方法检查df1['a']中的元素是否在df2['x']中
# 并将结果映射为'in'或'not in'
df1['new_column'] = df1['a'].isin(df2['x']).map({True: 'in', False: 'not in'})
print(df1)
方法二:
# 使用isin()方法检查df1['a']中的元素是否在df2['x']中
mask = df1['a'].isin(df2['x'])
# 使用apply()方法和一个lambda函数来根据mask的结果添加新列
df1['new_column'] = mask.apply(lambda x: 'in' if x else 'not in')
输出:
a b c new_column
0 1 10 p not in
1 2 20 q not in
2 3 30 r in
3 4 40 s in
4 5 50 t not in