首页 > 数据库 > 数据库开发技术 > Python数据分析—数据选择
选择数据框中的某一列
选择数据框中的多列
选择数据框中的某一行
选择数据框中的多行
选择子数据框
选择带条件的数据框
注意:本文沿用数据分析第一课【Python数据分析—数据建立】里的数据框date_frame:

date_frame.name #方法一date_frame['name'] #方法二date_frame.iloc[:, 1] #方法三date_frame.loc[:, ['name']] #方法四

第四种方法得到结果如下:

注意:前三种方法得到的数据类型是Series,第四种方法得到数据类型是DataFrame。
2 选择数据框中的某几列
如果需要选择数据框中的多列,可以采用如下三种方法:
如果我需要选择date_frame数据框中的name列和height列,可在jupyter中运行如下语句:
date_frame[['height','name']] #方法一date_frame.loc[:, ['height','name']] #方法二date_frame.iloc[:, [1,4]] #方法三

可以发现前两种方法选择某些列,可以不按原数据框的顺序进行筛选,可以自定义顺序。
第三种方法得到的结果如下:

注意:在python中对应的下标和当前位置是减一的关系,且date_frame.iloc[:, 1:3]中的1:3取不到下标3,是含头不含尾的。
3 选择数据框中的某一行
如果需要选择数据框中的某一行,可以采用如下三种方法:
如果我需要选择date_frame数据框中第一行(对应行下标为0),可在python中输入如下代码:
date_frame[0:1] #第一种方法date_frame.loc[1,:] #第二种方法date_frame.iloc[1,:] #第三种方法
第一种方法得到的是一个数据框:

后两种方法得到的是一个Series,具体结果如下:

4 选择数据框中的某几行
如果需要选择数据框中的某几行,可以采用如下三种方法:
如果我需要选择date_frame数据框中第一行到第二行的数据(对应行下标为0:1),可在python中输入如下代码:
date_frame[0:2] #第一种方法date_frame.iloc[0:2,:] #第二种方法date_frame.loc[0:1,:] #第三种方法
三种方法得到的结果如下:

需要注意的是第三种方法选行下标是含头含尾的,这个可以自己在电脑中运行一下代码感受一下。
5 选择一个子数据框
我们之前单独选择了某些行和某些列,如果我们想选行下标为1和2,列下标也为1和2 的子数据框(图中绿色部分),我们该怎么办?

可以把选择行数据框和列数据框的代码叠加(不分先后顺序),进行选择。
比如采用如下代码:
date_frame[1:3][['name','gender']]得到结果如下:

6 选择带条件的数据框
假设我们想选择date_frame中性别是男性的子数据框,我们可以在jupyter中输入如下代码:
date_frame[date_frame.gender=='男']得到结果如下:

假设我们想选择date_frame中年龄大于17岁且身高高于170的学生信息,我们可以在jupyter中输入如下代码:
date_frame[(date_frame.height>1.7)&(date_frame.age>17)]得到结果如下:

至此,在python中进行数据选择的基本操作已经完成啦,大家可以动手练习一下,思考一下还有没有别的数据选择的更好方法
。


扫一扫关注我
19967879837
投稿微信
原文作者:阿黎逸阳的代码;如有侵权,请联系管理员删除。