[英]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_index
将x
列设置为新索引(假设您没有任何缺失或重复的值) ),然后根据新索引获取返回值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.