python中loc什么意思_python pandas 中 loc & iloc 用法区别

转自:https://blog.csdn.net/qq_21840201/article/details/80725433

### 随机生DataFrame 类型数据

import pandas as pd

import numpy as np

frame = pd.DataFrame(np.random.rand(4,4),index=list('abcd'),columns=list('ABCD'))

frame

A B C D

a 0.560094 0.352686 0.954100 0.926277

b 0.563728 0.335517 0.232902 0.973932

c 0.482155 0.976618 0.565462 0.445108

d 0.477146 0.933353 0.291764 0.986668

1、loc     基于行标签和列标签(x_label、y_label)进行索引

### .loc先行后列,中间用逗号(,)分割,例如取 a 和 A 对应的数据

frame.loc['a','A']

0.56009394013943303

### 取前两行对应数据

frame.loc['a':'b',:]

A B C D

a 0.560094 0.352686 0.954100 0.926277

b 0.563728 0.335517 0.232902 0.973932

### 取前两列对应数据

frame.loc[:,'A':'B']

A B

a 0.560094 0.352686

b 0.563728 0.335517

c 0.482155 0.976618

d 0.477146 0.933353

### 取前两行和前两列对应数据

frame.loc['a':'b','A':'B']

A B

a 0.560094 0.352686

b 0.563728 0.335517

### 上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则

frame.loc[['a','d'],['A','D']]

上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则

frame.loc[['a','d'],['A','D']]

A D

a 0.560094 0.926277

d 0.477146 0.986668

2、 iloc   基于行索引和列索引(index,columns) 都是从 0 开始

如果数据的行标签和列标签名字太长或不容易记,则用 iloc 很方便,只需记标签对应的索引即可

### .loc先行后列,中间用逗号(,)分割,例如取 a 和 A 对应的数据

frame.iloc[0,0]

0.56009394013943303

### 取前两行对应数据

frame.iloc[0:2,:]

A B C D

a 0.560094 0.352686 0.954100 0.926277

b 0.563728 0.335517 0.232902 0.973932

### 取前两列对应数据

frame.iloc[:,0:2]

A B

a 0.560094 0.352686

b 0.563728 0.335517

c 0.482155 0.976618

d 0.477146 0.933353

### 取前两行和前两列对应数据

frame.iloc[0:2,0:2]

A B

a 0.560094 0.352686

b 0.563728 0.335517

### 上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则

frame.iloc[[0,3],[0,3]]

上面的例子取的都是连续的行和列,若取第一行和第四行、第一列和第四列对应的数据,则

frame.iloc[[0,3],[0,3]]

A D

a 0.560094 0.926277

d 0.477146 0.986668

3、 ix  基于标签或者索引(loc和iloc 的混合)

### 取前两行和前两列对应数据

frame.iloc[0:2,0:2]

A B

a 0.560094 0.352686

b 0.563728 0.335517

### 取前两行和前两列对应数据

frame.ix['a':'b','A':'B']

A B

a 0.560094 0.352686

b 0.563728 0.335517

官方文档新的python版本已经弃用 ix,建议使用 loc 和 iloc

.ix is deprecated. Please use

.loc for label based indexing or

---------------------

作者:求知者_123

来源:CSDN

原文:https://blog.csdn.net/qq_21840201/article/details/80725433

版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值