python iloc和loc切片的实现

目录
  • 一、含正负号的下标
  • 二、loc和iloc
    • 1. 利用loc、iloc提取行数据
    • 2. 利用loc、iloc提取列数据
    • 3.利用loc、iloc提取指定行、指定列数据
    • 4.利用loc、iloc提取所有数据
    • 5.利用loc函数,根据某个数据来提取数据所在的行

一、含正负号的下标

正下标从0开始,负下标从-1开始1。切片的时候包括头不包括尾部。

二、loc和iloc

loc是指location的意思,iloc中的i是指integer。

【1】iloc:根据标签的所在位置,从0开始计数,先选取行再选取列

【2】loc:根据DataFrame的具体标签选取行列,同样是先行标签,后列标签

由上图可以看出:iloc[:4,2]和loc[:4,2]是不一样的,前者不包括4,后者包括4

lypdfdata=lypdf.iloc[:,1:-1].values
lypdftarget=lypdf.iloc[:,:-1].values
# 逗号前面是属于行,后面是属于列

1. 利用loc、iloc提取行数据

import numpy as np
import pandas as pd
#创建一个Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))

In[1]: data
Out[1]:
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15

#取索引为'a'的行
In[2]: data.loc['a']
Out[2]:
A    0
B    1
C    2
D    3

#取第一行数据,索引为'a'的行就是第一行,所以结果相同
In[3]: data.iloc[0]
Out[3]:
A    0
B    1
C    2
D    3

2. 利用loc、iloc提取列数据

In[4]:data.loc[:,['A']] #取'A'列所有行,多取几列格式为 data.loc[:,['A','B']]
Out[4]:
    A
a   0
b   4
c   8
d  12

In[5]:data.iloc[:,[0]] #取第0列所有行,多取几列格式为 data.iloc[:,[0,1]]
Out[5]:
    A
a   0
b   4
c   8
d  12

3.利用loc、iloc提取指定行、指定列数据

In[6]:data.loc[['a','b'],['A','B']] #提取index为'a','b',列名为'A','B'中的数据
Out[6]:
   A  B
a  0  1
b  4  5

In[7]:data.iloc[[0,1],[0,1]] #提取第0、1行,第0、1列中的数据
Out[7]:
   A  B
a  0  1
b  4  5

4.利用loc、iloc提取所有数据

In[8]:data.loc[:,:] #取A,B,C,D列的所有行
Out[8]:
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15

In[9]:data.iloc[:,:] #取第0,1,2,3列的所有行
Out[9]:
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15

5.利用loc函数,根据某个数据来提取数据所在的行

In[10]: data.loc[data['A']==0] #提取data数据(筛选条件: A列中数字为0所在的行数据)
Out[10]:
   A  B  C  D
a  0  1  2  3

In[11]: data.loc[(data['A']==0)&(data['B']==2)] #提取data数据(多个筛选条件)
Out[11]:
   A  B  C  D
a  0  1  2  3

到此这篇关于python iloc和loc切片的实现的文章就介绍到这了,更多相关python iloc和loc切片内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)

    df是一个dataframe,列名为A B C D 具体值如下: A B C D 0 ss 小红 8 1 aa 小明 d 4 f f 6 ak 小紫 7 dataframe里的属性是不定的,空值默认为NA. 一.选取标签为A和C的列,并且选完类型还是dataframe df = df.loc[:, ['A', 'C']] df = df.iloc[:, [0, 2]] 二.选取标签为C并且只取前两行,选完类型还是dataframe df = df.loc[0:2, ['A', 'C']] df

  • Python学习之.iloc与.loc的区别、联系和用法

    目录 1.联系 2.区别 3.用法 3.1行列全为从0开始顺序编号 3.2有一行或列不是从0顺序编号 3.3行或者列为非数字标签 3.4 其他用法 总结 最近接触到数据科学,需要对一些数据表进行分析,观察到代码中一会出现loc一会又出现iloc,下面对两者的用法给出我的一些理解. 1.联系 (1)操作对象相同:loc和iloc都是对DataFrame类型进行操作: (2)完成目的相同:二者都是用于选取DataFrame中对应行或列中的元素. 2.区别 loc和iloc索引的行列标签类型不同. i

  • python DataFrame中loc与iloc取数据的基本方法实例

    目录 1.准备一组DataFrame数据 2.loc标签索引 2.1loc获取行 2.1.1loc获取一行 2.1.2loc获取多行 2.1.3loc获取多行(切片) 2.2loc获取指定数据(行&列) 3.iloc位置索引 3.1iloc获取行 3.1.1iloc获取单行 3.1.2iloc获取多行 3.2iloc获取指定数据(行&列)获取所有行,指定列 总结 关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据 基本方法总结归纳及示例如下: 1.准备

  • python pandas中索引函数loc和iloc的区别分析

    目录 前言 1.直接使用行或者列标签 2.loc函数 3.iloc函数 总结 前言 使用pandas进行数据分析的时候,我们经常需要对DataFrame的行或者列进行索引.使用pandas进行索引的方法主要有三种:直接使用行或者列标签.loc函数和iloc函数. 举个简单的例子: import numpy as np import pandas as pd df = pd.DataFrame({"Fruits":["apple","pear",&

  • Python Pandas数据分析之iloc和loc的用法详解

    Pandas 是一套用于 Python 的快速.高效的数据分析工具.它可以用于数据挖掘和数据分析,同时也提供数据清洗功能.本篇目录如下: 一.iloc 1.定义 iloc索引器用于按位置进行基于整数位置的索引或者选择. 2.语法 df.iloc [row selection, column selection] 3.代码示例 (1)导入数据 (2)选择单行或单列 (3)选择多行或多列 (4)注意 iloc选择一行时返回Series,选择多行返回DataFrame,通过传递列表可转为DataFra

  • python iloc和loc切片的实现

    目录 一.含正负号的下标 二.loc和iloc 1. 利用loc.iloc提取行数据 2. 利用loc.iloc提取列数据 3.利用loc.iloc提取指定行.指定列数据 4.利用loc.iloc提取所有数据 5.利用loc函数,根据某个数据来提取数据所在的行 一.含正负号的下标 正下标从0开始,负下标从-1开始1.切片的时候包括头不包括尾部. 二.loc和iloc loc是指location的意思,iloc中的i是指integer. [1]iloc:根据标签的所在位置,从0开始计数,先选取行再

  • Python Pandas中loc和iloc函数的基本用法示例

    目录 1 loc和iloc的含义 2 用法 2.1 loc函数的用法 2.2 iloc函数的用法 补充:Pandas中loc和iloc函数实例 总结 1 loc和iloc的含义 loc表示location的意思:iloc中的loc意思相同,前面的i表示integer,所以它只接受整数作为参数. 2 用法 import pandas as pd import numpy as np # np.random.randn(5, 2)表示返回5x2的矩阵,index表示行的编号,columns表示列的编

  • Python 中pandas索引切片读取数据缺失数据处理问题

    引入 numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢? numpy能够帮我们处理处理数值型数据,但是这还不够 很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等 比如:我们通过爬虫获取到了存储在数据库中的数据 比如:之前youtube的例子中除了数值之外还有国家的信息,视频的分类(tag)信息,标题信息等 所以,numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我

  • python pandas.DataFrame.loc函数使用详解

    官方函数 DataFrame.loc Access a group of rows and columns by label(s) or a boolean array. .loc[] is primarily label based, but may also be used with a boolean array. # 可以使用label值,但是也可以使用布尔值 Allowed inputs are: # 可以接受单个的label,多个label的列表,多个label的切片 A singl

  • python多维数组切片方法

    1.数组a第0个元素(二维数组)下的所有子元素(一维数组)的第一列 import numpy as np b=np.arange(24) a=b.reshape(2,3,4) print a print a[0,:,0] 2.取所有二维数组下的每个二维数组的第0个元素(一维数组) b=np.arange(24) a=b.reshape(2,3,4) print a print '--------------------' print a[:,0] 结果: [[ 0 1 2 3] [12 13 1

  • Python中的字符串切片(截取字符串)的详解

    字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引-1内的字符串 步长不指定时步长为1 字符串[开始索引:结束索引] 练习样例 # 1.截取2 - 5位置的字符 num_str_1 = num_str[2:6] print(num_str_1) # 2.截取2 - 末尾的字符 # 当开始索引和结束索引为开始和结束时可以省略不写 num_str_1 = num_str[2:] print(num_s

  • python中列表的切片与修改知识点总结

    python中可以使用下标索引来访问列表中的值,对列表进行切片即截取,也可以对列表的数据项进行修改或更新. 使用下标索引来访问列表中的值,例如list1[1]. 使用索引截取列表中的值,例如list1[2:4],截取列表内容不包括list1[4]. 列表的修改: 使用索引修改列表中的值,例如list1[1]=200. 使用append()方法来添加列表项,例如list1.append('d'). 使用insert()方法来添加列表项,例如list1.insert(3,'d'). append是在

随机推荐