解决方案:Pandas里面的loc跟iloc,有什么区别


一、现象

在用Pandas库处理数据的时候,久而久之不用loc跟iloc,难免会有些混乱记混

二、解决方案

在Pandas中,lociloc是两种常用的数据选择方法,它们的主要区别在于索引方式:

  1. loc:基于标签的索引,它使用行标签和列标签进行选择。
  2. iloc:基于整数位置的索引,它使用行和列的整数索引进行选择。

案例

假设我们有以下DataFrame:

import pandas as pd

# 创建一个DataFrame
data = {
    'Name': ['Tom', 'Nick', 'Julia', 'John'],
    'Age': [20, 21, 19, 18],
    'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)

# 显示DataFrame
print(df)

输出:

    Name  Age      City
0   Tom   20  New York
1  Nick   21 Los Angeles
2  Julia   19    Chicago
3  John   18    Houston
使用loc

如果你想选择名字为"Nick"的行和"Age"列:

print(df.loc[df['Name'] == 'Nick', 'Age'])

输出:

1    21
Name: Age, dtype: int64
使用iloc

如果你想选择第二行和第一列:

print(df.iloc[1, 0])

输出:

Nick

如果你想选择第二行的所有列:

print(df.iloc[1])

输出:

Name       Nick
Age          21
City  Los Angeles
Name: 1, dtype: object

如果你想选择第一列的所有行:

print(df.iloc[:, 0])

输出:

0       Tom
1      Nick
2     Julia
3      John
Name: Name, dtype: object

简单总结

  • loc:使用标签索引,适合于你清楚知道行和列的标签名称时使用。
  • iloc:使用整数索引,适合于你清楚知道行和列的位置时使用。

选择使用loc还是iloc主要取决于你的具体需求和数据的索引情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值