获取两个序列的交集时出错

2024-09-28 01:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

从pandas数据帧中,我使用df.sample(n)随机选取了两个组件

然后我试着tmp = pd.df[(randomset)&(randomset2)]['ID']

得到这个错误TypeError: unsupported operand type(s) for &: 'list' and 'bool'

我哪里做错了

我想做的是 从如下所示的数据中随机选取两行

Num      ID
A235     [1,3,4,6,8]
A537     [3,5,2,7,8]
...      ...

从这两行的交点处数出来


Tags: 数据sampleidpandasdftype错误组件
1条回答
网友
1楼 · 发布于 2024-09-28 01:32:51

交集可以在集合上执行。因此,在应用交集运算之前,必须将级数转换为集合。 有帮助吗

df = pd.DataFrame([['A235',[1,3,4,6,8]],['A537',[3,5,2,7,8]]], columns=['Num','ID'])
randomset1=set(df.loc[0]['ID'])
randomset2=set(df.loc[1]['ID'])
print(randomset1&randomset2)

输出:

{8, 3}

相关问题 更多 >

    热门问题