pandas的loc与iloc

本文深入探讨了Pandas库中两种主要的数据检索方法:loc和iloc。详细解释了如何使用loc通过行名和列名进行数据查找,以及如何使用iloc通过行和列的数字索引进行数据检索。提供了丰富的示例代码,帮助读者理解这两种方法的使用场景和区别。

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

1. loc是用标签(也就是行名和列名)来查找,标签默认是数字,但也可以通过index参数指定为字符型等其他的类型。

  • 格式是df.loc[行名,列名],如果列标签没有给出,则默认为查找指定行标签的所有列。

例如:

1.1 创建一个DataFrame,不指定各行的名称(或者说标签),pandas会默认通过数字编号,将各行命名为0,1,2,。。。

1.2 df.loc[行名],不指定列名,则查找输出该行名的所有列:

1.3 df.loc[行名,列名],则查找行名为0,列名为'id'的值:

1.4 df.loc 一个行名,多个列名,列名则以list形式给出:

1.5 df.loc 多个行名,多个列名:

1.6 df.loc 多个行名,逗号后面不给出列名,则认为是所有的列:

#### 为了证明上述的例子中loc后面的第一个参数确实是行的名字,而不是编号,给出下面的例子,其中,创建DataFrame时,通过index参数来指定各个行的行名分别为 test1,test2,test3:

1.7 多个行名,一个列名:

1.8 多个行名,逗号后不给出列名,则默认为是所有列:

1.9 多个行名,多个列名:

 

2. iloc是用编号(行的编号和列的编号,从0开始)来查找。

2.1 创建DataFrame:

2.2 df.iloc 一个行编号,一个列编号:

2.3 df.iloc 一个行编号,多个列编号:

2.4 df.iloc 多个行编号,一个列编号:

2.5 df.iloc 多个行编号,行号逗号之后,列编号为空,则默认为所有列:

2.6 如果不用编号,而用行或者列的名称,则报错:

注:

1.上述代码用Jupyter编写运行,

2. 文章内容部分参考自:https://www.cnblogs.com/keye/p/7825280.html

 

转载于:https://www.cnblogs.com/aaronhoo/p/9382133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值