繁体   English   中英

根据来自不同列的值(以数组形式提供)提取数据框的索引

[英]Extract indices of a dataframe based on a values (provided as an array) from a different column

我有一个数组为: df1.values = array([1,2,3,4]) 现在,我想要得到的指数df2其中df2.x具有从值df1.values 因此,例如,如果df2.x.values= [1,3,4,2,5,6] ,那么我希望返回值为1,4,2,3 ,它们是df2的索引值,其中df1中的值可以被找寻到。

我在stackoverflow上到处查看,但找不到如何执行此操作。

如果我了解您的问题,那么应该可以:

import pandas as pd

df1 = pd.DataFrame([1,2,3,4],columns=['x'])
df2 = pd.DataFrame([1,3,4,2,5,6],columns=['x'])

df2['old_index']=df2.index.values
df2.set_index('x').loc[df1['x']]['old_index'].values

基本上,我们将df2原始索引的df2 (这些是您想要的返回值)提取为新列,使用.set_indexx列设置为新索引(假设您没有任何缺失或重复的值) ),然后根据新索引获取返回值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM