python max取下标_Python数据分析—数据选择

由于互联网的快速发展,网络上存储了越来越多的数据信息。各大公司通过对这些数据进行分析,可以得到一些有助于决策的信息。 比如通过对某些用户的淘宝浏览记录数据进行分析,可以发现这些客户的潜在消费点,通过分类定点投放广告,增加商品的销售。 再比如信贷领域,可以通过分析申请人的征信数据,建模计算出申请人逾期的可能性大小,决定是否放贷,从而提高公司资金的使用价值。 在数据分析越来越热门的今天,学会数据分析,就是你升职加薪的重要砝码。 本文是数据分析的第二课,教大家如何在python中进行数据选择 。 本文目录
  1. 选择数据框中的某一列

  2. 选择数据框中的多列

  3. 选择数据框中的某一行

  4. 选择数据框中的多行

  5. 选择子数据框

  6. 选择带条件的数据框

注意:本文沿用数据分析第一课【Python数据分析—数据建立】里的数据框date_frame:

23c020763fe10a8b15e095723f84257c.png

 1  选择数据框中的某一列 选择数据框的某一列有四种方法。 第一种方法:数据框的名字.列名。 第二种方法:数据框的名字['列名']。 第三种方法:数据框的名字.iloc[:, 列下标],假设要选第3列,它对应的下标为2,两者是减一的关系。 第四种方法:数据框的名字.loc[:, ['列名']] 如果我需要选择date_frame数据框中的name列(第二列),可在jupyter中运行如下语句:
date_frame.name       #方法一date_frame['name']    #方法二date_frame.iloc[:, 1]  #方法三date_frame.loc[:, ['name']]  #方法四
前三种方法得到结果如下:

58db9e8bb27d0b82486b90b8443ee77a.png

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

               f3097a36a817603bfdf932660287fb2e.png

注意:前三种方法得到的数据类型是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]]  #方法三
前两种方法得到的结果如下:

3b142509b1cdba71bf69df02dd0ffc9c.png

可以发现前两种方法选择某些列,可以不按原数据框的顺序进行筛选,可以自定义顺序。

第三种方法得到的结果如下:

d051f1cdb73ccd470aee2cffffaf86a3.png

注意:在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,:] #第三种方法

第一种方法得到的是一个数据框:

27ee283d05bfda9e7ee405e96c061fe1.png

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

f6b57ddf2b8ea00a8c44d65729fa6bd1.png

 4  选择数据框中的某几行

如果需要选择数据框中的某几行,可以采用如下三种方法:

第一种方法:数据框的名字[起始行下标:终点行下标加一]。 第二种方法:数据框的名字.iloc[起始行下标:终点行下标加一, :]。 第三种方法:数据框的名字.loc[起始行下标:终点行下标, :]。

如果我需要选择date_frame数据框中第一行到第二行的数据(对应行下标为0:1),可在python中输入如下代码:

date_frame[0:2]          #第一种方法date_frame.iloc[0:2,:]   #第二种方法date_frame.loc[0:1,:]    #第三种方法

三种方法得到的结果如下:

1765273af2355cf7eb30fb302e19eb3a.png

需要注意的是第三种方法选行下标是含头含尾的,这个可以自己在电脑中运行一下代码感受一下。

 5  选择一个子数据框

我们之前单独选择了某些行和某些列,如果我们想选行下标为1和2,列下标也为1和2 的子数据框(图中绿色部分),我们该怎么办?

e6c819ddb19cb78c465f02270f8c217e.png

可以把选择行数据框和列数据框的代码叠加(不分先后顺序),进行选择。

比如采用如下代码:

date_frame[1:3][['name','gender']]

得到结果如下:

e140d2f55ba0ad70504355018cb8218b.png

 6  选择带条件的数据框

假设我们想选择date_frame中性别是男性的子数据框,我们可以在jupyter中输入如下代码:

date_frame[date_frame.gender=='男']

得到结果如下:

046e992e3dd24ba62383fa66ed18ba19.png

假设我们想选择date_frame中年龄大于17岁且身高高于170的学生信息,我们可以在jupyter中输入如下代码:

date_frame[(date_frame.height>1.7)&(date_frame.age>17)]

得到结果如下:

640ca4ee65abf1fcf340825ef47b119b.png

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

往期回顾: 3D星空图 3D星空图V2版 520表白代码合集 用python绘制皮卡丘

娱乐圈排行榜动态条形图绘制

1d44ca49c4a3342ff491c5ede22ae373.png

d60611284e7cfc0c88288e2b8600c0c3.png

扫一扫关注我

19967879837

投稿微信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值