天天看点

学习笔记6—pandas中ix,loc,iloc有什么区别?

直接看例子:

>>> data = pd.Series(np.arange(10), index=[49,48,47,46,45, 1, 2, 3, 4, 5])
>>> data
49    0
48    1
47    2
46    3
45    4
1     5
2     6
3     7
4     8
5     9
dtype: int64
>>> data.iloc[:3]
49    0
48    1
47    2
dtype: int64
>>> data.loc[:3]
49    0
48    1
47    2
46    3
45    4
1     5
2     6
3     7
dtype: int64
>>> data.ix[:3]
49    0
48    1
47    2
46    3
45    4
1     5
2     6
3     7
dtype: int64      
>>> data.iloc[:6]
49    0
48    1
47    2
46    3
45    4
1     5
dtype: int64
>>> data.loc[:6]
KeyError: 6
>>> data.ix[:6] #因为index里面不包含标签6,index都是整数
KeyError: 6
>>> data= pd.Series(np.arange(10), index=['a','b','c','d','e', 1, 2, 3, 4, 5])
>>> data
a    0
b    1
c    2
d    3
e    4
1    5
2    6
3    7
4    8
5    9
dtype: int64
>>> data.ix[:6]
a    0
b    1
c    2
d    3
e    4
1    5
dtype: int64
>>> data.loc[:6]
TypeError: cannot do slice indexing      

继续阅读