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. 【NX二次开发】Block UI 切换开关

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  2. 【NX二次开发】Block UI 超级点

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  3. Activity侧滑返回的实现原理

    简介 使用侧滑Activity返回很常见,例如微信就用到了.那么它是怎么实现的呢.本文带你剖析一下实现原理.我在github上找了一个star有2.6k的开源,我们分析他是怎么实现的 //star 2 ...

  4. 其实 Linux IO 模型没那么难

    文章首发于公众号「陈树义」及个人博客 shuyi.tech,欢迎关注访问. 博主个人独立站点开通啦!欢迎点击访问:https://shuyi.tech IO 其实就是 Input 和 Output,在 ...

  5. 『心善渊』Selenium3.0基础 — 15、Selenium对多窗口的操作

    目录 1.多标签/多窗口之间的切换 2.句柄练习 1.多标签/多窗口之间的切换 (1)多标签/多窗口场景: 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口上进行操作,如 ...

  6. 限流神器Sentinel,不了解一下吗?

    概述 书接上回:你来说说什么是限流? ,限流的整体概述中,描述了 限流是什么,限流方式和限流的实现.在文章尾部的 分布式限流,没有做过多的介绍,选择了放到这篇文章中.给大伙细细讲解一下 Sentine ...

  7. 14、oracle sql语法

    14.0.注释: 1.单行注释:-- 2.多行注释:/* */ 14.1.sqlplus中的set指令: 1.设置每行显示的数据长度: SET LINESIZE 500; #有效范围是1-32767, ...

  8. imply套件以及plyql的安装

    本文出自:http://www.cnblogs.com/gaojiang/p/7212149.html 1.安装nodejs,版本需要在4.0以上,安装方法见上篇博客 2.下载imply,地址:htt ...

  9. springboot集成swagger添加消息头(header请求头信息)

    springboot集成swagger上篇文章介绍: https://blog.csdn.net/qiaorui_/article/details/80435488 添加头信息: package co ...

  10. 白话边缘计算解决方案 SuperEdge

    一.SuperEdge的定义 引用下SuperEdge开源官网的定义: SuperEdge is an open source container management system for edge ...