pandas中操作DataFrame时候,经常用到**loc,iloc,at,iat,ix**

loc函数通过行索引“index"中具体的值来去行的数据(如取”index“为'A'的行)

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 [16]: data
Out[16]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
1.1 利用loc与iloc取行数据
data.loc['a']#取索引为a的行
In [17]: data.loc['a']
Out[17]:
A 0
B 1
C 2
D 3
Name: a, dtype: int64 data.iloc[0]#取第一行数据,索引为'a'的行就是第一行,所以结果相同
In [18]: data.iloc[0]
Out[18]:
A 0
B 1
C 2
D 3
Name: a, dtype: int64

pandas中操作DataFrame时候,经常用到loc,iloc,at,iat,ix

loc函数通过行索引“index"中具体的值来去行的数据(如取”index“为'A'的行)

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 [16]: data
Out[16]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
1.1 利用loc与iloc取行数据
data.loc['a']#取索引为a的行
In [17]: data.loc['a']
Out[17]:
A 0
B 1
C 2
D 3
Name: a, dtype: int64 data.iloc[0]#取第一行数据,索引为'a'的行就是第一行,所以结果相同
In [18]: data.iloc[0]
Out[18]:
A 0
B 1
C 2
D 3
Name: a, dtype: int64
1.2 利用loc,iloc取列数据
data.loc[:,['A']] #取A列所有行,取多列的格式为data.loc[:,['A',‘B’,‘C’,...]]

In [19]: data.loc[:,['A']]
Out[19]:
A
a 0
b 4
c 8
d 12
Data.iloc(:,[0])#取第0列的所有行,索取几列的格式为data.iloc[:,[0,1,2..]]
In [20]: data.iloc[:,[0]]
Out[20]:
A
a 0
b 4
c 8
d 12
1.3 利用loc,iloc提取指定行、指定列数据
In [22]: data.loc[['a','b'],['A','B']]#提取index为‘a’,‘b’,列名为‘A’,‘B’的数据
Out[22]:
A B
a 0 1
b 4 5 In [23]: data.iloc[[0,1],[0,1]]#提取0,1行,第0,1列中的数据
Out[23]:
A B
a 0 1
b 4 5
1.4 利用loc,iloc提取所有数据
In [25]: data.loc[:,:]#提取A,B,C,D列的所有行
Out[25]:
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 [26]: data.iloc[:,:]#提取0,1,2,3列的所有行
Out[26]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
1.5 利用loc函数,根据某个数据来提取数据所在的行
In [28]: data.loc[data['A']==0]#提取data数据(筛选条件:A列中数字为0所在的行数据)
Out[28]:
A B C D
a 0 1 2 3 In [32]: data.loc[(data['A']==0)&(data['B']==1)]#提取data数据(多个筛选条件)
Out[32]:
A B C D
a 0 1 2 3

利用loc函数的时候,当index相同时,会将index全部提取出来,优点:如果index是人名,数据框为所有人的数据,那么我可以将某人的多条数据提取分析;缺点:如果index不具有特定意义,而且重复,那么提取数据需要进一步处理,可以用.reset_index()函数重置index.

iloc与loc总结的更多相关文章

  1. pandas DataFrame 索引(iloc 与 loc 的区别)

    Pandas--ix vs loc vs iloc区别 0. DataFrame DataFrame 的构造主要依赖如下三个参数: data:表格数据: index:行索引: columns:列名: ...

  2. pandas-03 DataFrame()中的iloc和loc用法

    pandas-03 DataFrame()中的iloc和loc用法 简单的说: iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5 ...

  3. DataFrame的iloc与loc的区别是什么?

    对于一个DataFrame A,A.loc[k]是读取A中index为k的那一行.A.iloc[k]是读取A中的第k行.

  4. iloc与loc的区别

    pandas.DataFrame.iloc iloc基于位置进行索引,主要是整数位置,也可以用布尔数组 iloc的输入可以是:单个整数.整数列表或数组.整数切片.布尔数组  pandas.DataFr ...

  5. pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

    数据介绍 先随机生成一组数据: import pandas as pd import numpy as np state = ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'N ...

  6. 关于python中loc和iloc方法

    pandas以类似字典的方式来获取某一列的值 import pandas as pd import numpy as np table = pd.DataFrame(np.zeros((4,2)), ...

  7. pandas入门——loc与iloc函数

    oc与iloc函数 loc函数 import pandas as pd import numpy # 导入数据 df = pd.read_csv(filepath_or_buffer="D: ...

  8. pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)

    pandas DataFrame的增删查改总结系列文章: pandas DaFrame的创建方法 pandas DataFrame的查询方法 pandas DataFrame行或列的删除方法 pand ...

  9. loc() iloc() at() iat()函数

    1 四个函数都是用于dataframe的定位 []用于直接定位. loc()函数是用真实索引,iloc()函数是用索引序号. loc()函数切片是左闭右闭,iloc()函数切片是左闭右开. at(), ...

随机推荐

  1. MySQL进阶:主主复制+Keepalived高可用

    Blog:博客园 个人 概述 mysql主主复制 所谓主主复制,即双主备份,或者叫互作主从复制,每台master既是master,又是slave.这种方案,既做到了访问量的压力分流,同时也解决了单点故 ...

  2. noip2011 总结

    铺地毯 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺 ...

  3. LM-MLC 一种基于完型填空的多标签分类算法

    LM-MLC 一种基于完型填空的多标签分类算法 1 前言 本文主要介绍本人在全球人工智能技术创新大赛[赛道一]设计的一种基于完型填空(模板)的多标签分类算法:LM-MLC,该算法拟合能力很强能感知标签 ...

  4. 理解css行高(line-height)

    首先我们要明确 line-height 的定义,line-height指的是两条文字基线之间的距离. 行内框盒子模型 所有内联元素的样式表现都与行内框盒子模型有关.所以这个概念是非常重要的. < ...

  5. win7旗舰版任务栏窗口不合并显示,鼠标移至窗口时可预览应用内容

    1.鼠标移至任务栏--右键--属性: 2.选择"当任务栏被占满时合并"或"从不合并",第一个选项更优: 3.右键桌面"计算机"的" ...

  6. Centos7.5使用SSH密钥登录

    12.1.查看操作系统版本 # cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 12.2.在服务器端创建密钥 # ssh-ke ...

  7. UVA 10689 Yet another Number Sequence 矩阵快速幂 水呀水

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  8. Java进阶 | IO流核心模块与基本原理

    一.IO流与系统 IO技术在JDK中算是极其复杂的模块,其复杂的一个关键原因就是IO操作和系统内核的关联性,另外网络编程,文件管理都依赖IO技术,而且都是编程的难点,想要整体理解IO流,先从Linux ...

  9. Docker下的mysql安装指令(Mac)

    工具   简介 对于Docker,绝对是开发人员的一款利器!当下特别火热的虚拟化技术.都说不知Docker是什么,作为IT人就out了. 关于Docker 是什么.及其基础学习可以参考: <Do ...

  10. Python中调用Linux命令并获取返回值

    方法一.使用os模块的system方法:os.system(cmd),其返回值是shell指令运行后返回的状态码,int类型,0表示shell指令成功执行,256/512表示未找到,该方法适用于she ...