python熊猫数据帧-can';t弄清楚如何从df中查找给定值的索引

python熊猫数据帧-can';t弄清楚如何从df中查找给定值的索引,python,pandas,indexing,dataframe,lookup,Python,Pandas,Indexing,Dataframe,Lookup,我有两个数字数据帧。给定第二个df中某一列的值,我想在索引中查找第一个df中的值。更具体地说,我想创建第三个df,它只包含索引标签——使用第二个df的值从第一个df查找其坐标 listso = [[21,101],[22,110],[25,113],[24,112],[21,109],[28,108],[30,102],[26,106],[25,111],[24,110]] data = pd.DataFrame(listso,index=list('abcdefghij'), columns=

我有两个数字数据帧。给定第二个df中某一列的值,我想在索引中查找第一个df中的值。更具体地说,我想创建第三个df,它只包含索引标签——使用第二个df的值从第一个df查找其坐标

listso = [[21,101],[22,110],[25,113],[24,112],[21,109],[28,108],[30,102],[26,106],[25,111],[24,110]]
data = pd.DataFrame(listso,index=list('abcdefghij'), columns=list('AB'))
rollmax = pd.DataFrame(data.rolling(center=False,window=5).max())
因此,对于第三个df,我希望使用
rollmax
中的值,并找出它们在
数据中显示的行。我们可以将这第三个df称为indexlookup

例如,
rollmax.ix['j','A']=30
,因此
indexlookup.ix['j','A']=g'


谢谢

您可以通过另一种方式构建一个系列:

mapA = pd.Series(data.index, index=data.A)

然后
mapA[rollmax.ix['j','A']
给出了
'g'

John-好主意,谢谢回复。你认为对于一个大数据集,我的最佳答案是走这条路线,在每一列上循环创建“查找”系列吗?此外,在存在重复值的情况下,是否可以默认为第一次或最后一次出现?@MJS:是的,我认为这是一种合理的方法。对于被骗的事,请再试一次,谢谢约翰。最后一个问题-mapA[rollmax.ix['j','A']]给出的“g”解决方案似乎无法转换为整个数据帧。我如何用上面的rollmax:data映射中所有合适的索引名来填充indexlookup数据框?@MJS:我将让您自己来解决这个问题,如果您遇到问题,也可以发布一个新的问题。