dataframe取数:df[]、loc[]、iloc[]的区别

df[]形式中,中括号中如果是单个字符或列表,则为取某列或某几列的数值;中括号中如果是切片,则为取某行或某几行的数值。反过来说,如果要取某列或某几列的数值,则中括号中写上某列的列名或某几列的列名组成的列表;如果要取某行或某几行的数值,则中括号中要写上切片的形式,即便是只取一行或全部行,也需要写成切片的形式。注:中括号里可以写列名、行名或列索引、行索引。

loc[]或iloc[]形式中,中括号中如果是单个字符、列表或切片,则为取某行或某几行的数值。中括号中如果是有逗号,则为同时取行和列的形式,逗号前是行的部分,逗号后是列的部分。逗号前后可以是某一个字符或某一个索引值,也可以是字符或索引值组成的列表,还可以是字符或索引值组成的切片。注:如果不使用逗号的形式,则只能取行的数值。如果使用逗号的形式,则逗号两侧必须有内容,不能为空,如果取全部的行或列,仅需使用:表示。

df[]、loc[]、iloc[]的中括号里,可以使用公式对符合某一条件的行或列进行取值。具体理解见下例:

df = pd.DataFrame([['F',22, 90],['M',32, 75],['F',18, 82],['M',14, 93]], 
                  columns=['gender','age', 'score'], 
                  index = ['小红', '小亮', '小兰', '小明'])
print(df)
[out]:
     gender  age  score
小红      F   22     90
小亮      M   32     75
小兰      F   18     82
小明      M   14     93
df.loc[df['gender']=='M', :] 
df[df['gender']=='M'] 
[out]:
     gender  age  score
小亮      M   32     75
小明      M   14     93

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值