选择数据框中的某一列
选择数据框中的多列
选择数据框中的某一行
选择数据框中的多行
选择子数据框
选择带条件的数据框
注意:本文沿用数据分析第一课【Python数据分析—数据建立】里的数据框date_frame:
date_frame.name #方法一date_frame['name'] #方法二date_frame.iloc[:, 1] #方法三date_frame.loc[:, ['name']] #方法四
前三种方法得到结果如下:
第四种方法得到结果如下:
注意:前三种方法得到的数据类型是Series,第四种方法得到数据类型是DataFrame。
2 选择数据框中的某几列
如果需要选择数据框中的多列,可以采用如下三种方法:
第一种方法:数据框的名字[['列名1','列名2',....,'列名n']]。 第二种方法:数据框的名字.loc[:, ['列名1','列名2',....,'列名n']]。 第三种方法:数据框的名字.iloc[:, 起始列下标:终点列下标加一]。如果我需要选择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 选择数据框中的某一行
如果需要选择数据框中的某一行,可以采用如下三种方法:
第一种方法:数据框的名字[行下标:行下标加一]。 第二种方法:数据框的名字.loc[行下标, :]。 第三种方法:数据框的名字.iloc[行下标, :]。如果我需要选择date_frame数据框中第一行(对应行下标为0),可在python中输入如下代码:
date_frame[0:1] #第一种方法date_frame.loc[1,:] #第二种方法date_frame.iloc[1,:] #第三种方法
第一种方法得到的是一个数据框:
后两种方法得到的是一个Series,具体结果如下:
4 选择数据框中的某几行
如果需要选择数据框中的某几行,可以采用如下三种方法:
第一种方法:数据框的名字[起始行下标:终点行下标加一]。 第二种方法:数据框的名字.iloc[起始行下标:终点行下标加一, :]。 第三种方法:数据框的名字.loc[起始行下标:终点行下标, :]。如果我需要选择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中进行数据选择的基本操作已经完成啦,大家可以动手练习一下,思考一下还有没有别的数据选择的更好方法。
娱乐圈排行榜动态条形图绘制
![d60611284e7cfc0c88288e2b8600c0c3.png](https://i-blog.csdnimg.cn/blog_migrate/1321cbeeb99d56ec118e2a03bf4d6388.png)
扫一扫关注我
19967879837
投稿微信