栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用isin()确定应打印的内容

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用isin()确定应打印的内容

如果的所有值

id
都是唯一的:

我认为你需要

merge
inner
加入。对于
data2
仅选择
id
列,
on
应省略参数,因为在所有列上联接-
仅在此处
id

df = pd.merge(data1, data2[['id']])

样品:

data1 = pd.Dataframe({'id':list('abcdef'),'B':[4,5,4,5,5,4],'C':[7,8,9,4,2,3]})print (data1)   B  C id0  4  7  a1  5  8  b2  4  9  c3  5  4  d4  5  2  e5  4  3  fdata2 = pd.Dataframe({'id':list('frcdeg'),'D':[1,3,5,7,1,0],'E':[5,3,6,9,2,4],})print (data2)   D  E id0  1  5  f1  3  3  r2  5  6  c3  7  9  d4  1  2  e5  0  4  gdf = pd.merge(data1, data2[['id']])print (df)   B  C id0  4  9  c1  5  4  d2  5  2  e3  4  3  f

如果

id
一个或另一个重复
Dataframe
使用另一个答案,还添加了类似的解决方案:

df = data1[data1['id'].isin(set(data1['id']) & set(data2['id']))]

ids = set(data1['id']) & set(data2['id'])df = data2.query('id in @ids')

df = data1[np.in1d(data1['id'], np.intersect1d(data1['id'], data2['id']))]

样品:

data1 = pd.Dataframe({'id':list('abcdef'),'B':[4,5,4,5,5,4],'C':[7,8,9,4,2,3]})print (data1)   B  C id0  4  7  a1  5  8  b2  4  9  c3  5  4  d4  5  2  e5  4  3  fdata2 = pd.Dataframe({'id':list('fecdef'),'D':[1,3,5,7,1,0],'E':[5,3,6,9,2,4],})print (data2)   D  E id0  1  5  f1  3  3  e2  5  6  c3  7  9  d4  1  2  e5  0  4  fdf = data1[data1['id'].isin(set(data1['id']) & set(data2['id']))]print (df)   B  C id2  4  9  c3  5  4  d4  5  2  e5  4  3  f

编辑:

您可以使用:

df = data2.loc[data1['id'].isin(set(data1['id']) & set(data2['id'])), ['title']]ids = set(data1['id']) & set(data2['id'])df = data2.query('id in @ids')[['title']]df = data2.loc[np.in1d(data1['id'], np.intersect1d(data1['id'], data2['id'])), ['title']]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661567.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号