列选择
df
>>>
编号 性别 注册时间 年龄
0 A1 男 2018-08-08 54
1 A2 女 2018-08-09 16
2 A3 女 2018-08-10 47
3 A4 男 2018-08-11 41
4 A5 女 2018-08-09 16
5 A1 男 2018-08-08 54
# 直接传入列名
df[['编号','年龄']]
>>>
编号 年龄
0 A1 54
1 A2 16
2 A3 47
3 A4 41
4 A5 16
5 A1 54
# 位置索引传入列
df.iloc[:,[0,3]]
>>>
编号 年龄
0 A1 54
1 A2 16
2 A3 47
3 A4 41
4 A5 16
5 A1 54
df.iloc[:,1:3] # 获取第1列到第3列的值
>>>
性别 注册时间
0 男 2018-08-08
1 女 2018-08-09
2 女 2018-08-10
3 男 2018-08-11
4 女 2018-08-09
5 男 2018-08-08
- iloc的[]中逗号之前的部分表示要获取的行的位置
- 只输入一个冒号,不输入任何数值表示获取所有行
- 逗号之后的[]表示要获取的列的位置
行选择
选择指定的行
pf
>>>
编号 性别 注册时间 年龄
一 A1 男 2018-08-08 54
二 A2 女 2018-08-09 16
三 A3 女 2018-08-10 47
四 A4 男 2018-08-11 41
四 A5 女 2018-08-09 16
五 A1 男 2018-08-08 54
pf.loc[['一','三']] #选择第一行和第三行
>>>
编号 性别 注册时间 年龄
一 A1 男 2018-08-08 54
三 A3 女 2018-08-10 47
pf.iloc[[0,1]] #选择第一行和第二行
>>>
编号 性别 注册时间 年龄
一 A1 男 2018-08-08 54
二 A2 女 2018-08-09 16
pf.iloc[0:3] #选择第一行到第三行
>>>
编号 性别 注册时间 年龄
一 A1 男 2018-08-08 54
二 A2 女 2018-08-09 16
三 A3 女 2018-08-10 47
选择满足条件的行
pf[pf['年龄'] > 30] #选择年龄大于30
>>>
编号 性别 注册时间 年龄
一 A1 男 2018-08-08 54
三 A3 女 2018-08-10 47
四 A4 男 2018-08-11 41
五 A1 男 2018-08-08 54
pf [(pf ['年龄'] > 30) & (pf ['注册时间'] < '2018-08-10')] #选择年龄大于30且注册时间小于2018-08-10
>>>
编号 性别 注册时间 年龄
一 A1 男 2018-08-08 54
五 A1 男 2018-08-08 54
行列同时选择
普通索引+普通索引
pf.loc[['一','三'] , ['编号','年龄']]
>>>
编号 年龄
一 A1 54
三 A3 47
位置索引+位置索引
pf.iloc[[0,1],[0,2]]
>>>
编号 注册时间
一 A1 2018-08-08
二 A2 2018-08-09
布尔索引+普通索引
pf [pf ['年龄'] > 30] [ ['编号','年龄']]
>>>
编号 年龄
一 A1 54
三 A3 47
四 A4 41
五 A1 54
切片索引+切片索引
pf.iloc [0:3 , 1:3]
>>>
性别 注册时间
一 男 2018-08-08
二 女 2018-08-09
三 女 2018-08-10
切片索引+普通索引
pf.ix [0:3 , ['编号' , '年龄']]
>>>
编号 年龄
一 A1 54
二 A2 16
三 A3 47