我有一个包含两个数字列A和B的数据框。我想从列A的前5个值中查找并从列在前5个位置的列B中返回值。
非常感谢。
最佳答案
我认为需要DataFrame.nlargest
前5行的列为A
,然后选择列B
:
df = pd.DataFrame({'A':[4,5,26,43,54,36,18,7,8,9],
'B':range(10)})
print (df)
A B
0 4 0
1 5 1
2 26 2
3 43 3
4 54 4
5 36 5
6 18 6
7 7 7
8 8 8
9 9 9
print (df.nlargest(5, 'A'))
A B
4 54 4
3 43 3
5 36 5
2 26 2
6 18 6
a = df.nlargest(5, 'A')['B']
print (a)
4 4
3 3
5 5
2 2
6 6
Name: B, dtype: int64
排序的替代解决方案:
a = df.sort_values('A', ascending=False)['B'].head(5)
print (a)
4 4
3 3
5 5
2 2
6 6
Name: B, dtype: int64
关于python - Python数据框找到前5个索引,然后索引到另一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50304103/