一 通过索引取数据 (ix/loc/iloc)

loc (根据索引名称取数据 , 适合多列)

iloc (根据索引序号取数据,   适合多列)

at  (和loc类似,只用于取单列, 性能更好)

iat (和iloc类似,只用于取单列,性能更好)

ix  (综合上面)

data = [[1,2,3],[4,5,6]]
index = ['A','B']
columns=['a','b','c']
df = pd.DataFrame(data=data, index=index, columns=columns) #--------------------Loc的用法-----------------------------------------------
# 取第1行
print df.loc['A']
# 取第1行列名 'b'
print df.loc['A', ['b']]
# 取多列
print df.loc['A', ['b', 'c']]
#---------------------------------------------------------------------------- #--------------------iLoc的用法-----------------------------------------------
# 取第1行
print df.iloc[0]
# 取第1行列名 'b'
print df.iloc[0, [1]]
# 取多列
print df.iloc[0, [1, 2]]
#---------------------------------------------------------------------------- #--------------------at的用法-----------------------------------------------
print df.at["A", 'a']
#--------------------------------------------------------------------------- #--------------------iat的用法-----------------------------------------------
print df.iat[0, 0]
#---------------------------------------------------------------------------- #--------------------ix的用法-----------------------------------------------
# 取第1行
print df.ix[0]
# 取第1行列名 'b'
print df.ix[0][1] # 取第1行
print df.ix['A']
# 取第1行列名 'b'
print df.ix['A']['b']
#----------------------------------------------------------------------------

  需要注意的地方,1 该类用法必须先通过索引,取到行(series)再取列数据, 直接取列数据会报错  2 通过ix获取数据时,如果索引为int, 则识别为loc, 使用名称查找

二  获取索引和字段名

#--------------------获取索引-----------------------------------------------
print df.index[0]
#-------------------------------------------------------------------------- #--------------------获取列名-----------------------------------------------
print df.columns[0]
#--------------------------------------------------------------------------

DataFrame查找的更多相关文章

  1. dataframe按值(非索引)查找多行

    很多情况下,我们会根据一个dataframe里面的值来查找而不是根据索引来查找. 首先我们创建一个dataframe: >>> col = ["id"," ...

  2. pandas.DataFrame排除特定行

    使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame 如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列 ...

  3. Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)

    DataFrame是Pandas中的一个表结构的数据结构,包括三部分信息,表头(列的名称),表的内容(二维矩阵),索引(每行一个唯一的标记). 一.DataFrame的创建 有多种方式可以创建Data ...

  4. Spark官方1 ---------Spark SQL和DataFrame指南(1.5.0)

    概述 Spark SQL是用于结构化数据处理的Spark模块.它提供了一个称为DataFrames的编程抽象,也可以作为分布式SQL查询引擎. Spark SQL也可用于从现有的Hive安装中读取数据 ...

  5. Pandas系列(二)- DataFrame数据框

    一.初识DataFrame dataFrame 是一个带有索引的二维数据结构,每列可以有自己的名字,并且可以有不同的数据类型.你可以把它想象成一个 excel 表格或者数据库中的一张表DataFram ...

  6. dataframe使用笔记

    dates=pd.date_range(',periods=6) #创建固定频度的时间序列 df=pd.DataFrame(np.random.randn(6,4),index=dates,colum ...

  7. pandas模块(数据分析)------dataframe

    DataFrame DataFrame是一个表格型的数据结构,含有一组有序的列,是一个二维结构. DataFrame可以被看做是由Series组成的字典,并且共用一个索引. 一.生成方式 import ...

  8. pandas中DataFrame使用

    切片选择 #显示第一行数据print(df.head(1)) #显示倒数三行数据 print(df.tail(3)) loc  df.loc[row_index,col_index]  注意loc是根 ...

  9. spark&dataframe

    1.今天,我们来介绍spark以及dataframe的相关的知识点,但是在此之前先说一下对以前的hadoop的一些理解 当我启动hadoop的时候,上面有hdfs的存储结构,由于这个是分布式存储,所以 ...

随机推荐

  1. java 自定义 LRU(最近最少使用)策略 实现 缓存机制

    1. java提供了一个简单的方式实现LRU:  LinkedHashMap   2. 自定义实现 LRU至少需要两个主要操作: 添加(add)和搜索(search) public class LRU ...

  2. Django之Form字段插件

    一.Django内置Form组件:        在使用Django内置的Form组件时,里面包含了许多[字段]和[插件],也就是验证用户输入的请求以及生成显示在前端的HTML.下面介绍一下用法: F ...

  3. Bitmap到底占多少内存

    转至:Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存? Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟 ...

  4. 新建虚拟机,每次都提示无法连接虚拟设备 ide1:0

    处理方式:看到了这个老哥http://www.cnblogs.com/dean-du/p/6888513.html的博客,发现问题是一样的,所以记录一下. 将虚拟机设置中的CD/DVD选项中的连接更改 ...

  5. Java Web高性能开发 - 前端高性能

    作者:IBM developerWorks链接:https://www.ibm.com/developerworks/cn/java/j-lo-javawebhiperf1/著作权归作者所有.商业转载 ...

  6. Software Testing Techniques LAB 02: Selenium

    1. Installing 1. Install firefox 38.5.1 2. Install SeleniumIDE    After installing, I set the view o ...

  7. what's up ? docker, all right.

    Docker install 下载对应安装包,离线安装 Docker 需要 docker-engine.docker-engine-selinux.libtool-ltdl这三个软件包. 下面以安装 ...

  8. 一些baidu面经

    百度问的一些问题供参考: 1. epoll 和 select,epoll 两种模式,阻塞非阻塞: 2. 两个严格递增链表找出相同的元素组成新的链表: ref1   ref 3. 网络传输中如何传送一个 ...

  9. iOS设计模式 - 外观

    iOS设计模式 - 外观 原理图 说明 1. 当客服端需要使用一个复杂的子系统(子系统之间关系错综复杂),但又不想和他们扯上关系时,我们需要单独的写出一个类来与子系统交互,隔离客户端与子系统之间的联系 ...

  10. 掷骰子游戏窗体实现--Java初级小项目

    掷骰子 **多线程&&观察者模式 题目要求:<掷骰子>窗体小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰 ...