一、综述:iloc、loc、ix可以用来索引数据、抽取数据
二、iloc、loc、ix三者对比
- iloc和loc的区别
- iloc主要使用数字来索引数据,不能使用字符型的标签来索引数据。
- loc只能使用字符型标签来索引数据,不能使用数字来索引数据。特殊情况:当dataframe的行标签或列标签为数字时,loc就可以来索引
- 行标签和列标签都是数字的情况
1
2
3
4
5
6
7
8
9
10
11a = np.arange(12).reshape(3, 4)
print("a: \n", a)
df = pd.DataFrame(a)
print("df: \n", df)
print("df.loc[0]: \n", df.loc[0])
print("df.iloc[0]: \n", df.iloc[0])
print("df.loc[:,[0,3]]: \n", df.loc[:, [0, 3]])
print("df.iloc[:, [0,3]]: \n", df.iloc[:, [0, 3]])
- 将行标签[0, 1, 2]改为[‘a’,’b’,’c’]时的情况
- 行标签和列标签都是数字的情况
1 | df.index = ['a', 'b', 'c'] |
- 将列标签[0, 1, 2]改为[‘A’, ‘B’, ‘C’]时的情况
1 | df.columns = ['A', 'B', 'C'] |
- ix是一种混合索引,字符型标签和整型索引都可以使用
1
2
3
4print("df.ix[0]: \n", df.ix[0])
print("df.ix['a']: \n", df.ix['a'])
print("df.ix[:, 0]: \n", df.ix[:, 0])
print("df.ix[:, 'A']: \n", df.ix[:, 'A'])
- ix是一种混合索引,字符型标签和整型索引都可以使用