DataFrame之查询&切片操作

本文分享了DataFrame类型的查询与切片操作的学习总结。查询有两种方式,以列优先;切片有loc()和iloc()方法,以行优先。文中列举了多种查询和切片的具体操作示例,还补充了多行操作的head()和tail()方法,方便大家使用和记忆。

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

对DataFrame类型做操作的时候,因为有很多方法来实现查询与切片,所以很容易忘记或者搞混淆。而查询和切片有些操作可以“互用”,更是让人不知所措。现在分享一下我的学习总结:

查询其实很简单,也很容易记,就两种方式:

①df[列名][行名]--------------------------------单列

②df[[列名,...]][行索引位置]------------------多列

我的理解为查询是以列优先的(记住,后面有呼应)

切片,有loc()方法和iloc()方法,

loc()方法是针对DataFrame索引名称的切片方法

iloc()方法接收的必须是行索引和列索引的位置

实不相瞒,这两个我每次用的时候都没记牢,然后用着用着感觉又有点像?总不能老是懵懵懂懂的,所以今天也特地小结了一下:

loc():

df.loc[行索引名称or条件,列名]-----------------------单行

df.loc[行名][列名]----------------------------------------单行

df.loc[[行名,...]][[列名,...]]------------------------------多行

df.loc[[行名,...]][:1]---------------------------------------多行

像不像?以列为优先的查询?hh,我感觉loc()和iloc()是以行优先的切片

tips:这里[:1],也可以是其他的列切片,但不能是单个位置索引

df.loc[1:2,列名]------------------------------------------多行单列

df.loc[1:2,[列名,...]]--------------------------------------多行多列

iloc():

df.iloc[行索引位置,列索引位置]----------------------单行

df.iloc[1:2,[1,3]]-----------------------------------------多行多列

df.iloc[:][[列名,...]]--------------------------------------多行多列

等等等等,我感觉混搭的方式真的很多,我只列出几个,方便使用,看了也能有些印象。当然,大家也可以多多尝试其他的。

补充一下:对于多行,还有head()和tail()方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值