目录
Python除了最基本的筛选外,例:data[‘A’]
还有loc、iloc、ix(已不推荐使用)区分loc与iloc:
loc(location):以loc就只能用条件或者行列的名字来进行筛选;
iloc(indx location):index是什么,我把它当作是索引位置,第几行第几列的意思,所以iloc是用第几行第几列这样的数字来筛选的。详细见下列子:
切片生成一个10X10的表
import pandas as pd
import numpy as np
data = pd.DataFrame(np.arange(100).reshape([10,10]),columns=['a','b','c','d','e','f','g','h','i','j'],index=['A','B','C','D','E','F','G','H','I','J'])
data
运行结果:
一、loc
loc(几行几列的索引名称/明确的条件)
print(data.loc['A'])#行
print(data.loc[:,'a'])#列
print(data.loc[data.a>20])#明确范围(只能对列进行限制)
运行结果:
a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 i 8 j 9 Name: A, dtype: int64 A 0 B 10 C 20 D 30 E 40 F 50 G 60 H 70 I 80 J 90 Name: a, dtype: int64 a b c d e f g h i j D 30 31 32 33 34 35 36 37 38 39 E 40 41 42 43 44 45 46 47 48 49 F 50 51 52 53 54 55 56 57 58 59 G 60 61 62 63 64 65 66 67 68 69 H 70 71 72 73 74 75 76 77 78 79 I 80 81 82 83 84 85 86 87 88 89 J 90 91 92 93 94 95 96 97 98 99
注意事项:1,先行后列。 2,范围时只能对列进行限制
二、iloc
loc(几行几列)
print(data.iloc[1])#行
print(data.iloc[:,1])#列
print(data.iloc[0:4,1:3])#明确范围(只能对列进行限制)
运行结果:
a 10 b 11 c 12 d 13 e 14 f 15 g 16 h 17 i 18 j 19 Name: B, dtype: int64 A 1 B 11 C 21 D 31 E 41 F 51 G 61 H 71 I 81 J 91 Name: b, dtype: int64 b c A 1 2 B 11 12 C 21 22 D 31 32