L&#39>我说我有一个名为z的熊猫系列:
index items
155 14
2 555
1445 23
855 3
等等。如您所见,索引是混合的。如何在不更改当前索引的情况下获取K前几行的索引列表? 例如,对于K = 3,我想要这样:[155,2,1445]
谢谢。
答案 0 :(得分:1)
您可以将iloc
与切片:
s.iloc[:3].index
或使用head
:
s.head(3).index
s
#index
#155 14
#2 555
#1445 23
#855 3
#Name: items, dtype: int64
s.iloc[:3].index.values
#array([ 155, 2, 1445], dtype=int64)
s.head(3).index.values
#array([ 155, 2, 1445], dtype=int64)
答案 1 :(得分:0)
如果z
是系列,那么只需要:
L = z.index[:3].tolist()
通过评论编辑:
您似乎得到DataFrame
而index
是列:
print (type(z))
<class 'pandas.core.frame.DataFrame'>
#set index with column index
z = z.set_index('index')
#select values by position and convert to list
L = z.index[:3].tolist()
print (L)
[155, 2, 1445]
如果index是列,则可以选择列,然后按位置Series.iloc
获取前N个值:
L = z['index'].iloc[:3].tolist()
最好使用DataFrame.iloc
,但get_loc
也需要index
列的位置:
L = z.iloc[:3, df.columns.get_loc('index')].tolist()