pandas中iloc,loc取数据差别及按条件取值

本文介绍了pandas DataFrame中iloc和loc的区别。loc用于选取指定索引的行和列,例如取index为0到4的五行四列数据;iloc则根据位置选取,如取前四行和特定列。此外,loc还支持按条件取数据,例如选取item_price_level为0的所有行,可以进一步指定仅选取满足条件的部分列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dataframe使用loc取某几行几列的数据:

print(df.loc[0:4,['item_price_level','item_sales_level','item_collected_level','item_pv_level']])

结果如下,取了index为0到4的五行四列数据。

        item_price_level  item_sales_level  item_collected_level  item_pv_level
0                 3                 3                     4             14
1                 3                 3                     4             14
2                 3                 3                     4             14
3                 3                 3                     4             14
4                 3                 3                     4             14

而使用iloc,如下所示:

print(df.iloc[0:4,6:9])

结果如下,取得是index为0到3四行,以及第6到8列(从0列开始)3列数据。

      item_price_level  item_sales_level  item_collected_level
0                 3                 3                     4
1                 3                 3                     4
2                 3                 3                     4
3                 3                 3                     4

另外loc可以按条件取数据:

print(df.loc[df.item_price_level==0,:])
print(df.loc[df[item_price_level]==0,:])

上面两条语句效果是一样的,都是取item_price_level为0的所有数据。可以把冒号改成几列列名,只取满足条件的某几列数据:

print(df.loc[df['item_price_level']==0,['item_price_level','item_sales_level']])

结果前两行如下:

           item_price_level  item_sales_level
129141                 0                10
129142                 0                10

条件为多个时 (同时满足两个条件如下):

print(df.loc[(item_price_level==0) & (item_sales_level==3),:])

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值