Python 使用相对索引访问数据帧数据
我试图使用关于行的信息来通知要查看整个数据帧中的哪些其他数据 我有这样一个数据帧:Python 使用相对索引访问数据帧数据,python,pandas,Python,Pandas,我试图使用关于行的信息来通知要查看整个数据帧中的哪些其他数据 我有这样一个数据帧: df = pd.DataFrame({'a':[1,5,9],'b':[2,6,3],'c':[0,7,1]}) a b c 0 1 2 0 1 5 6 7 2 9 3 1 a b c data 0 1 2 0 6 1 5 6 7 1 2 9 3 1 NaN 我想问这样的问题: 每行中最高值的下一个索引位置的值是多少 结果可能如下所示:
df = pd.DataFrame({'a':[1,5,9],'b':[2,6,3],'c':[0,7,1]})
a b c
0 1 2 0
1 5 6 7
2 9 3 1
a b c data
0 1 2 0 6
1 5 6 7 1
2 9 3 1 NaN
我想问这样的问题:每行中最高值的下一个索引位置的值是多少 结果可能如下所示:
df = pd.DataFrame({'a':[1,5,9],'b':[2,6,3],'c':[0,7,1]})
a b c
0 1 2 0
1 5 6 7
2 9 3 1
a b c data
0 1 2 0 6
1 5 6 7 1
2 9 3 1 NaN
索引0
处的最大数字是2
,而6
位于下一个索引位置的同一列中
索引1
处的最大数字是7
,而1
位于下一个索引位置的同一列中
索引
2
后没有数据,因此不会返回任何内容。使用.idxmax
查找每行最大值的列,然后使用df.lookup
查找同一列中下一行的值
import pandas as pd
# Ignore the last row
lookups = df.idxmax(axis=1)[:-1]
#0 b
#1 c
#dtype: object
df['data'] = pd.Series(df.lookup(lookups.index+1, lookups))
# a b c data
#0 1 2 0 6.0
#1 5 6 7 1.0
#2 9 3 1 NaN