续上一篇,喜欢python的朋友请持续关注,共同成长
微信公众号“青少年思维训练营”,请关注!
#切片处理
#pandas取行或者列的注意事项
#方括号中如果是字符串,取列
print(df[‘name’])
–out
0 小猫
1 小狗
2 小狼
#方括号中如果是数字,取行
print(df[:2]) #取第一行到第二行
–out
Id name sex
0 001 小猫 女
1 002 小狗 男
#混合是取行列
#取第一行到第二行得’name’这一列
print(df[:2][‘name’])
–out
0 小猫
1 小狗
#df.loc通过标签索引取值
#loc不连续安索引提取“name”这一列的第一行和第三行
t1=df.loc[[0,2],[‘name’]]
print(t1)
–out
name
0 小猫
2 小狼
#loc连续多行多列提取
t1=df.loc[‘0’:‘2’,‘Id’:‘name’]
print(t1)
–out
Id name
0 001 小猫
1 002 小狗
2 003 小狼
#loc连续多行,按指定列提取
t1=df.loc[‘0’:‘2’,[‘sex’,‘name’]]
print(t1)
–out
sex name
0 女 小猫
1 男 小狗
2 男 小狼
#df.iloc通过位置取值
#iloc按位置提取这二列的第三行和第三行的第一行和第三行
t1=df.iloc[[0,2],[1,2]]
print(t1)
–out
name sex
0 小猫 女
2 小狼 男
#iloc连续多行多列提取
t1=df.iloc[0:2,0:2]
print(t1)
–out
Id name
0 001 小猫
1 002 小狗
#iloc连续多行,按指定列提取
t1=df.iloc[0:2,[0,2]]
print(t1)
–out
Id sex
0 001 女
1 002 男
#loc和iloc的区别,loc是根据行和列的标签名进行提取,中括号中是字符串,iloc是根据位置,中括号中是数字
#根据条件语句进行数据提取
t1=df[(df[‘name’]!=‘小狗’) & (df[‘sex’]==‘女’)]
print(t1)
–out
Id name sex
0 001 小猫 女
#根据条件语句提取相应的列
t1=df.loc[((df[‘name’]!=‘小狗’) & (df[‘sex’]==‘女’)),[‘name’,‘sex’]]
print(t1)
–out
name sex
0 小猫 女
来源:CSDN
作者:T-Code321
链接:https://blog.csdn.net/J2DM9968/article/details/104416450