pandas -2.定位切片区域,元素,iloc,loc,ix

1.符号[],()
刚接触pandas一直不太明白pandas里面什么时候用[],什么时候用(),后来觉得要选取dataframe一部分的时候就用[],()一般是用在函数里面的。

2.切片区域
2.1列
单列最简单的,只有一列就直接dataframe['列名']

多列稍有麻烦:dataframe[['列1','列2'...]],外层[]表示我要对dataframe做选择了,里层表示选择的内容比较多,用list告诉你他们是一起的。
但是后来我要选取非常多列的时候,要这样一一罗列就不大方便了。
我的做法是先把所有的列名转成list然后在list里选择。
比如
col = dataframe.columns.values.tolist(),
dataframe[ col[3:-5]].

2.2行
这也是比较简单的,因为pandas的切片是默认行切片的。
dataframe[3:]就是index为3的行到最后一行
值得注意的是这里区间是左闭右开的,所以index为3到5行是dataframe[3:6]

2.3区域和元素
定位区域和元素方法是一样都可以用iloc,loc,ix来定位,稍有不同是loc是用index跟列名,iloc是用位置即第0行到第5行,第2列到第5列...,ix是混合使用既可以用index也可以用位置,但是我发现index为是数字的时候,ix会自动理解为index值。
用的地方,一般来说知道index一般会用index来定位。
iloc一般用在筛选之后,你并不知道具体index就用iloc
ix我觉得比较适合index不是数字的情况。

方法是dataframe.iloc/loc/ix[行的选择,列的选择]
选择的是元素,则行就是一个元素,列也是一个元素,比如dataframe.loc[5,'A'],选择index为5,列名为A的元素。
若要选择的是区域,行就是3:5,列就是['a','b'],
比如dataframe.iloc[:3,[2,3]]

你可能感兴趣的:(pandas -2.定位切片区域,元素,iloc,loc,ix)