前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pandas中的loc和iloc_pandas获取指定数据的行和列

pandas中的loc和iloc_pandas获取指定数据的行和列

作者头像
全栈程序员站长
发布2022-09-27 10:10:26
8.5K0
发布2022-09-27 10:10:26
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君

实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc。

目录

1.loc方法

(1)读取第二行的值

(2)读取第二列的值

(3)同时读取某行某列

(4)读取DataFrame的某个区域

(5)根据条件读取

(6)也可以进行切片操作

2.iloc方法

(1)读取第二行的值

(2)读取第二行的值

(3)同时读取某行某列

(4)进行切片操作


loc:通过行、列的名称或标签来索引 iloc:通过行、列的索引位置来寻找数据

首先,我们先创建一个Dataframe,生成数据,用于下面的演示

代码语言:javascript
复制
import pandas as pd
import numpy as np

# 生成DataFrame
data = pd.DataFrame(np.arange(30).reshape((6,5)),
                    columns=['A','B','C','D','E'])
# 写入本地
data.to_excel("D:\\实验数据\\data.xls", sheet_name="data")
print(data)
pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

1.loc方法

loc方法是通过行、列的名称或者标签来寻找我们需要的值。

(1)读取第二行的值

代码语言:javascript
复制
# 索引第二行的值,行标签是“1”
data1 = data.loc[1]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

备注: #下面两种语法效果相同 data.loc[1] == data.loc[1,:]

(2)读取第二列的值

代码语言:javascript
复制
# 读取第二列全部值
data2 = data.loc[ : ,"B"]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

(3)同时读取某行某列

代码语言:javascript
复制
# 读取第1行,第B列对应的值
data3 = data.loc[ 1, "B"]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

(4)读取DataFrame的某个区域

代码语言:javascript
复制
# 读取第1行到第3行,第B列到第D列这个区域内的值
data4 = data.loc[ 1:3, "B":"D"]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

(5)根据条件读取

代码语言:javascript
复制
# 读取第B列中大于6的值
data5 = data.loc[ data.B > 6] #等价于 data5 = data[data.B > 6]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

(6)也可以进行切片操作

代码语言:javascript
复制
# 进行切片操作,选择B,C,D,E四列区域内,B列大于6的值
data1 = data.loc[ data.B >6, ["B","C","D","E"]]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

2.iloc方法

iloc方法是通过索引行、列的索引位置[index, columns]来寻找值

(1)读取第二行的值

代码语言:javascript
复制
# 读取第二行的值,与loc方法一样

data1 = data.iloc[1]

# data1 = data.iloc[1, :],效果与上面相同

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

(2)读取第二列的值

代码语言:javascript
复制
# 读取第二列的值
data1 = data.iloc[:, 1]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

(3)同时读取某行某列

代码语言:javascript
复制
# 读取第二行,第二列的值
data1 = data.iloc[1, 1]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

(4)进行切片操作

代码语言:javascript
复制
# 按index和columns进行切片操作
# 读取第2、3行,第3、4列
data1 = data.iloc[1:3, 2:4]

结果:

pandas中的loc和iloc_pandas获取指定数据的行和列
pandas中的loc和iloc_pandas获取指定数据的行和列

注意: 这里的区间是左闭右开,data.iloc[1:3, 2:4]中的第4行、第5列取不到

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/178799.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc。
  • 1.loc方法
    • (1)读取第二行的值
      • (2)读取第二列的值
        • (3)同时读取某行某列
          • (4)读取DataFrame的某个区域
            • (5)根据条件读取
              • (6)也可以进行切片操作
              • 2.iloc方法
                • (1)读取第二行的值
                  • (2)读取第二列的值
                    • (3)同时读取某行某列
                      • (4)进行切片操作
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档