pandas学习 第二章:数据选择

1 列选择

   在pandas中我们要想获取某列只需要在表df后面的方括号中指明要选择的列名即可。如果是一列,则只需要传入一个列名;如果是同时选择多列,则传入多个列名即可,多个列名用一个list存起来。
1.1 选择某一列/某几列
import pandas as pd
df = pd.read_excel(r"..\Data\2.xlsx",sheet_name = 0)
#通过传入列名选择数据的方式称为普通索引
df

在这里插入图片描述

import pandas as pd
df = pd.read_excel(r".\Data\2.xlsx",sheet_name = 0)
df['客户姓名']

在这里插入图片描述

import pandas as pd
df = pd.read_excel(r".\Data\2.xlsx",sheet_name = 0)
df[['订单编号','客户姓名']]

在这里插入图片描述

   在Python中。当你要获取的是连续的某几列,用普通索引和位置索引也是可以做到的,但是因为你要获取的列是连续的,所以只要传入这些连续列的位置区间即可,需要用到 iloc方法
import pandas as pd
df = pd.read_excel(r".\Data\2.xlsx",sheet_name = 0)
#通过传入具体位置来选择数据的方式称为位置索引
df.iloc[:,[0,2]] #获取第1和第3列的数值,:表示获取所有的行

在这里插入图片描述
在上面的代码中,iloc 后的方括号中逗号之前的表示选择的行,当只传入一个冒号时,表示选择所有行;逗号后面表示要选择列的位置区间,0:2表示选择第1列到第4列之间的值(包含第1列但不包含第4列),我们把这种通过传入一个位置区间来获取数据的方式称为切片索引。

2 行选择

2.1 选择某一行/某几行
    在pandas中,获取行的方式主要有两种,一种是普通索引,即传入具体行索引的名称,需要用到loc方法;另一种是位置索引,即传入具体的行数,需要用到iloc方法。
#利用loc()方法,普通索引
df.index = ["一","二","三","四","五","六"]
df.loc["一"]
df.loc[["一","二"]]
#利用iloc方法,位置索引
df.iloc[0]
df.iloc[[0,1]] #选择第一和第二行

在这里插入图片描述

2.2 选择连续的某几行
    在pandas中,选择连续的某几行时,你同样可以把要选择的每一个行索引名字或者行索引的位置输进去。很显然这是没有必要的,只要把连续行的位置用一个区间表示,然后传给iloc即可。
df.iloc[0:3]#选择第一行到第四行(不包含第四行)

在这里插入图片描述

2.3 选择满足条件的行
   在pandas中,我们直接在表名后面指明哪列要满足什么条件,就可以把满足条件的数据筛选出来。
import pandas as pd
df = pd.read_excel(r".\Data\2.xlsx",sheet_name=3)
df
#选择年龄小于200的数据
df[df['年龄']<200]

我们把上面这种通过传入一个判断条件来选择数据的方式称为布尔索引。

在这里插入图片描述

  传入的条件还可以是多个,如下为选择的年龄小于200且唯一识别码小于102的数据。
#选择年龄小于200并且唯一识别码小于200,条件用括号括起来
df[(df['年龄']<200) & (df['唯一识别码']<102)]

在这里插入图片描述

3 行列同时选择

3.1 普通索引+普通索引选择指定的行和列
普通索引+普通索引就是通过同时传入行和列的索引名称进行数据选择,需要用到loc方法。
loc方法中的第一对方括号表示行索引的选择,传入行索引名称;loc方法中的第二对方括号表示列索引的选择,传入列索引名称。
import pandas as pd
df = pd.read_excel(r".\Data\2.xlsx",sheet_name=4)
df.index = ["一","二","三","四","五"]
#用loc传入行列名称
df.loc[["一","二"],["订单编号","客户姓名","唯一识别码"]]

在这里插入图片描述

3.2 位置索引+位置索引选择指定的行和列
位置索引+位置索引是通过同时传入行、列索引的位置来获取数据,需要用到iloc方法。
在iloc方法中的第一对方括号表示行索引的选择,传入要选择行索引的位置;第二对方括号表示列索引的选择,传入要选择列索引的位置。行和列索引的位置都是从0开始计数。
#用iloc方法传入行列位置
df.iloc[[0,1],[0,2]]

在这里插入图片描述

3.3 布尔索引+普通缩影选择指定的行和列
布尔索引+普通索引是先对表进行布尔索引选择行,然后通过普通索引选择列。  
#先进行布尔选择,然后通过普通索引选择列
df[df["年龄"]<200][["订单编号","年龄"]]

在这里插入图片描述
上面的代码表示选择年龄小于200的订单编号和年龄,先通过布尔索引选择出年龄小于200的所有行,然后通过普通索引选择订单编号和年龄这两列。

3.4 切片索引+切片索引选择指定的行和列
切片索引+切片索引是通过同时传入行、列索引的位置区间进行数据选择。
import pandas as pd
df = pd.read_excel(r"..\Data\2.xlsx",sheet_name=4)
df.index = ["一","二","三","四","五"]
#iloc第一个参数选择的是行区间,第二个参数选的是列的区间
df.iloc[0:3,1:4]

在这里插入图片描述

3.5 切片索引+普通索引指定的行和列
df
df.iloc[0:3][["客户姓名","唯一识别码"]]

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值