Pandas数据处理(二)

时间秒杀一切 提交于 2020-02-21 06:43:54

续上一篇,喜欢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 小猫 女

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!