在pandas中,可以使用isin()
方法来提取与另一个数据帧相交的索引。isin()
方法可以接受一个列表或者另一个数据帧作为参数,返回一个布尔类型的Series,表示每个索引是否在给定的列表或数据帧中。
以下是一个示例代码:
import pandas as pd
# 创建两个数据帧
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [3, 4, 5], 'B': [6, 7, 8]})
# 提取与df2相交的索引
intersect_index = df1.index.isin(df2.index)
# 打印结果
print(intersect_index)
输出结果为:
[False False True]
在这个例子中,df1
和df2
都有3行数据,但只有第3行的索引在两个数据帧中都存在,所以对应的布尔值为True
,其余行的布尔值为False
。
如果想要提取相交的行,可以使用布尔索引来筛选数据帧:
intersect_rows = df1[intersect_index]
print(intersect_rows)
输出结果为:
A B
2 3 6
这样就可以从与另一个数据帧相交的pandas.DataFrame中提取索引了。
腾讯云相关产品和产品介绍链接地址:
Elastic 中国开发者大会
小程序·云开发官方直播课(数据库方向)
云+社区技术沙龙[第7期]
Elastic 中国开发者大会
链上产业系列活动
云+社区开发者大会 长沙站
Elastic 中国开发者大会
DB TALK 技术分享会
云+社区技术沙龙[第17期]
云+社区开发者大会(苏州站)
云+社区技术沙龙[第16期]
领取专属 10元无门槛券
手把手带您无忧上云