pandas实现选取特定索引的行

如下所示:

>>> import numpy as np
>>> import pandas as pd
>>> index=np.array([2,4,6,8,10])
>>> data=np.array([3,5,7,9,11])
>>> data=pd.DataFrame({'num':data},index=index)
>>> print(data)
  num
2   3
4   5
6   7
8   9
10  11
>>> select_index=index[index>5]
>>> print(select_index)
[ 6 8 10]
>>> data['num'].loc[select_index]
6   7
8   9
10  11
Name: num, dtype: int32
>>>

注意,不能用iloc,iloc是将序列当作数组来访问,下标又会从0开始:

>>> data['num'].iloc[2:5] 
6   7 
8   9 
10  11 
Name: num, dtype: int32 
>>> data['num'].iloc[[2,3,4]] 
6   7 
8   9 
10  11 
Name: num, dtype: int32 
>>>

相关推荐