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]
... ...
并从这两行 ID 部分获取交集并计算它
解决方案
可以在集合上执行相交。因此,您必须在应用交集操作之前将您的系列转换为设置。有帮助吗??
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}
推荐阅读
- c# - 基于TPL的循环服务:正确的worker方法签名,异步
- windows - GCP - 如何在非常安全的 VPC 上向 kms.windows.googlecloud.com 注册多个 Windows 操作系统?
- webpack - 如何在实时服务器而不是本地主机上运行 vuejs-templates/webpack
- spring-boot - 使用 Spring 将参数传递给 Neo4j 中的匹配查询
- c++ - 将数组附加到向量中
- hazelcast - 为 hazelcast 集群成员添加自定义名称?
- node.js - 服务器上无法识别 Socket.io 语法
- angular - 编写验证器时出错
- go - 在模板中转义大括号
- mysql - 过滤没有子查询的值