python pandas dataframe - can't figure out how to lookup an index given a value from a df

旧街凉风 提交于 2019-12-14 03:58:09

问题


I have 2 dataframes of numerical data. Given a value from one of the columns in the second df, I would like to look up the index for the value in the first df. More specifically, I would like to create a third df, which contains only index labels - using values from the second to look up its coordinates from the first.

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())

So for the third df, I hope to use the values from rollmax and figure out which row they showed up in data. We can call this third df indexlookup.

For example, rollmax.ix['j','A'] = 30, so indexlookup.ix['j','A'] = 'g'.

Thanks!


回答1:


You can build a Series with the indexing the other way around:

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

Then mapA[rollmax.ix['j','A']] gives 'g'.



来源:https://stackoverflow.com/questions/40078107/python-pandas-dataframe-cant-figure-out-how-to-lookup-an-index-given-a-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!