获取行索引,该列与另一个整数列表中的任何整数匹配

时间:2019-04-26 23:12:15

标签: python pandas

所以我有一个数据集,它是从另一个更大的数据集中提取的。它是一个基因表达数据集,因此它们中的一些样本值得关注,因为它们取自大脑区域,该区域是特定目标网络的一部分。唯一标识符称为“好”

d = {'network_name': [dDMN, Salience, Salience, Visual, dDNM], 'well_id': [11, 52, 37, 14, 89]}
small_df = pd.DataFrame(data=d)

bigd = {'Brain_region': [Hp, PFC, dlPFC, V2, Striatum, PFC, V1, Cerebellum], 'well_id': [54, 45, 89, 14, 11, 52, 23, 37]}
big_df = pd.DataFrame(data=bigd)

所以说我对Salience网络感兴趣。我想要well_id的索引与在network_name中标记为Salience的Well_id列表匹配。我找到了拉well_id并创建well_id列表的方法。

def pull_well_id (network):
    #takes in the sample annotation datasets as a list of dataframes and the network of interest
    #returns the well ids of all the samples in the list
    well_ids=list(small_df[small_df['network_name']==network]['well_id'])

    return well_ids

IDs=pull_well_id('Salience')


现在,我想获取与big_df中的此列表匹配的well_ids的索引。我已经尝试过...

ID_index=list(big_df[big_df['well_id']==IDs.index.values)

但这根本不起作用。有什么建议

1 个答案:

答案 0 :(得分:1)

使用isin

进行检查
big_df.index[big_df.well_id.isin(IDs)]