总结一.

iloc可以把i当做第几个,所以是按行序号;其他的就清楚了.

 import pandas
df = pandas.DataFrame({'a': [1, 2, 3, 4],'b': [5, 6, 7, 8], 'c': [9, 10, 11, 12]},index=["A", "B", "C", "D"]) # index:行名
print(df) ## loc:以行列标签取值,行列之间用","
print(df.loc['B', 'a'])
# 多行多列用":"隔开,行列之间用","
print(df.loc['B':'C', 'a':'b']) # 注意:loc因为是用标签名来取数据的,所以左右都闭(逗比),即包含行"B和"C" ## iloc:以行列序号取值(序号从0开始)
print(df.iloc[1,0])
# 多行多列
print(df.iloc[1:3, 0:2]) # 注意:iloc是序号取数,左闭右开. 1:3实际上只包含1,2. ## ix是上面两种都可以使用
print(df.ix['B', 'a'])
print(df.ix['B':'C', 'a':'b'])
print(df.ix[1,0])
print(df.ix[1:3, 0:2])

参考文章:https://blog.csdn.net/qq1483661204/article/details/77587881

总结二.

第一个参数如.loc([1,2]),.iloc([2:3]),.ix[2]…则进行的是行选择
2).loc,.at,选列是只能是列名,不能是position
3).iloc,.iat,选列是只能是position,不能是列名
4)df[]只能进行行选择,或列选择,不能同时进行列选择,列选择只能是列名。行号和区间选择只能进行行选择。当index和columns标签值存在重复时,通过标签选择会优先返回行数据。df.只能进行列选择,不能进行行选择。

作者:3230
链接:https://www.jianshu.com/p/199a653e9668
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(12).reshape(4, 3),columns=list('abc'), index=list('defg') )
print(df, '\n') #######loc
# 操作多行,因为行是index,所以可以比较简单的操作
print(df.loc['d'], '\n') # 单行
print(df.loc['d': 'f'], '\n') #多行, d,e,f三行
假如df中存在10-10到10-15这5行,现在运行df.loc["
2018-10-10
": ]

print(df.loc[['d', 'f']])   #多行,loc[]里的相当于列表,仅显示'd','f'两行

print(df.loc['a'], '\n') #error:the label [a] is not in the [index]

print(df.loc['a': 'c'])

# 操作多列,列就比较麻烦了,需要把行写成:,再配置列.
print(df.loc[:, ['a', 'b']])
print(df.loc[:, :'b']) #####ix
#错误的混合索引(想选取第一行和e行)
print(df.ix[[0,'e']])
# Out[202]:
# a b c
# 0 NaN NaN NaN
# e 3.0 4.0 5.0 #选取区域(这样也可行)
df.ix['e':,:2]
# Out[203]:
# a b
# e 3 4
# f 6 7
# g 9 10

#at/iat:通过标签或行号获取某个数值的具体位置。
#获取第2行,第3列位置的数据
df.iat[1,2]
Out[205]: 5 #获取f行,a列位置的数据
df.at['f','a']
Out[206]: 6
####直接索引df[]
# 选择行:
df[0:3] #
#选择列
df['a']
df.a
#选择多列
df['a', 'c'] #行号和区间索引只能用于行(预想选取C列的数据,
#但这里选取除了df的所有数据,区间索引只能用于行,
#因defg均>c,所以所有行均被选取出来)
df['c':]
# Out[212]:
# a b c
# d 0 1 2
# e 3 4 5
# f 6 7 8
# g 9 10 11
df['f':]
# Out[213]:
# a b c
# f 6 7 8
# g 9 10 11

iloc,loc,ix,df[]的更多相关文章

  1. python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...

  2. pandas中df.ix, df.loc, df.iloc 的使用场景以及区别

    pandas中df.ix, df.loc, df.iloc 的使用场景以及区别: https://stackoverflow.com/questions/31593201/pandas-iloc-vs ...

  3. python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix

    先手工生出一个数据框吧 import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3) ...

  4. loc、iloc、ix比较

    使用pandas创建一个对象 In [1]: import pandas as pd In [2]: import numpy as np In [3]: df = pd.DataFrame(np.r ...

  5. pandas (loc、iloc、ix)的区别

    loc:通过行标签索引数据 iloc:通过行号索引行数据 ix:通过行标签或行号索引数据(基于loc和iloc的混合) 使用loc.iloc.ix索引第一行数据: loc: iloc: ix:

  6. python pandas(ix & iloc &loc)

    python pandas(ix & iloc &loc) loc——通过行标签索引行数据 iloc——通过行号索引行数据 ix——通过行标签或者行号索引行数据(基于loc和iloc ...

  7. pandas中Loc vs. iloc vs. ix vs. at vs. iat?

    loc: only work on indexiloc: work on positionix: You can get data from dataframe without it being in ...

  8. Pandas的loc,iloc与ix的用法及区别

    1.先来谈一谈loc,loc这个方法就是你有啥我就用啥,你没有的我不用,pandas对象的index,columns有什么,pd.loc[index,column],index就是pd.index的其 ...

  9. df.dropna()函数和df.ix(),df.at(),df.loc()

随机推荐

  1. 学习 Doug Lea 大神写的——Scalable IO in Java

    学习 Doug Lea 大神写的--Scalable IO in Java 网络服务 Web services.分布式对象等等都具有相同的处理结构 Read request Decode reques ...

  2. Django框架(四)—— 路由控制:有名/无名分组、反向解析、路由分发、名称空间、伪静态、APPEND_SLASH、不同版本的Django区别

    目录 路由控制 一.简单路由配置 二.无名分组 三.有名分组 四.反向解析 五.路由分发 六.名称空间(一般不使用) 七.伪静态 八.Django 2.x和Django 1.x 路由层区别 九.APP ...

  3. 启动多个mysql实例

    如果使用./support-files/mysql.server 文件启动,则默认读取/etc/my.cnf 配置文件,这种方式有时候启动不了 会提示报错 :The server quit witho ...

  4. AWS的lambda和S3之间如何连携

    今天正好遇到了这个问题,就在官方文档里查询,然后根据他的说明整理了一下大致的流程,详细的请参考AWS国际版的官方文档,这里只是作者的一个简单的流程展示. Lambda和S3连接 1.在S3的同一区域当 ...

  5. 笔记36 Spring Web Flow——配置

    Spring Web Flow是一个Web框架,它适用于元素按规定流程运行的程序.Spring Web Flow是Spring MVC的扩展,它支持开发基于流程的应用程 序.它将流程的定义与实现流程行 ...

  6. 转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

    转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,J ...

  7. UDP部分

    IP地址:互联网协议地址,计算机的通行证.计算机在网络中的唯一身份标识.桥接:Ubuntu虚拟机 直接连到局域网NAT:网络地址转换点分十进制:192.168.14.115IP地址通常为4个字节,简称 ...

  8. vue-cli3+ant-design-vue+typescript 注意事项

    项目参考vue-cli3-web-init ant-design配置部分 1. 实现ant-disign-vue的按需加载方案 (1)引入所有的组件,然后加载到vue上面 components-ant ...

  9. Java中JNI的使用详解第四篇:C/C++中创建Java对象和String字符串对象及对字符串的操作方法

    首先来看一下C/C++中怎么创建Java对象:在JNIEnv中有两种方法是用来创建Java对象的: 第一种方法: jobject  NewObject(jclass clazz  , jmethodI ...

  10. bzoj1015题解

    [题意分析] 给你一张无向图,要求支持删点和询问连通块数. [解题思路] 可以直接可持久化并查集大力艹过去. 考虑到正着删点就是倒着加点,所以并不需要可持久化.复杂度O((k+m)α(n)). [参考 ...