Pandas基本功能之选取索引和过滤
索引、选取和过滤
大部分的查询用法
| 类型 | 说明 | 
|---|---|
| obj[val] | 选取DataFrame的单个列或一组列 | 
| obj.ix[val] | 选取DataFrame的单个行或一组行 | 
| obj.ix[:,val] | 选取单个列或列子集 | 
| obj.ix[val1,val2] | 同时选取行和列 | 
| reindex方法 | 将一个或多个轴匹配到新索引 | 
| xs方法 | 根据标签选取单行或单列,并返回一个Series | 
| icol、irow方法 | 根据整数位置选取单列或单行,并返回Series | 
| get_value、set_value方法 | 根据行标签和列标签选取单个值 | 
示例
- Series
 
obj = Series(np.arange(4.),index=['a','b','c','d'])
obj
a    0.0
b    1.0
c    2.0
d    3.0
dtype: float64
Series索引查
obj[1]
1.0
obj[1:3]
b    1.0
c    2.0
dtype: float64
Series索引的标签查询,它和切片的区别,不只顾头还顾尾
obj['a':'c']
a    0.0
b    1.0
c    2.0
dtype: float64
obj['a':'c']=5
obj
a    5.0
b    5.0
c    5.0
d    3.0
dtype: float64
- DataFrame
 
操作列进行查询的方式
data = pd.DataFrame(np.arange(16).reshape(4,4),index=['a','b','c','d'],columns=['one','two','three','four'])
data
one	two	three	four
a	0	1	2	3
b	4	5	6	7
c	8	9	10	11
d	12	13	14	15
直接操作索引会报错,用索引查必须是切片,选取行
data[0:2]
one	two	three	four
a	0	0	0	0
b	0	5	6	7
可以用列索引的标签名字查询
data[['one','two','three']]
one	two	three
a	0	1	2
b	4	5	6
c	8	9	10
d	12	13	14
ix操作行进行查询,ix[行,列]
data.ix[['a','b'],['two','four']]
two	four
a	1	3
b	5	7
ix查询不只顾头也顾尾
data.ix[:'c',:'two']
one	two
a	0	1
b	4	5
c	8	9
利用布尔值进行查询
# 行大于7,的前两列,这里边的切片查询依然是顾头不顾尾
data.ix[data.three>7,:2]
one	two
c	8	9
d	12	13
个人总结查询使用Series操作索引是直接行操作,如果使用DataFrame进行索引默认都是操作列,操作行需要使用ix
Pandas基本功能之选取索引和过滤的更多相关文章
- Pandas基本功能之层次化索引及层次化汇总
		
层次化索引 层次化也就是在一个轴上拥有多个索引级别 Series的层次化索引 data=Series(np.random.randn(10),index=[ ['a','a','a','b','b', ...
 - pandas小记:pandas高级功能
		
http://blog.csdn.net/pipisorry/article/details/53486777 pandas高级功能:面板数据.字符串方法.分类.可视化. 面板数据 {pandas数据 ...
 - pandas读书笔记、重新索引
		
重新索引 pandas对象的一个重要方法是 reindex ,其作用是创建一个适应新索引的新对象. #reindex函数的参数 reindex(index,method,fill_value, ...
 - 数据可视化基础专题(六):Pandas基础(五) 索引和数据选择器(查找)
		
1.序言 如何切片,切块,以及通常获取和设置pandas对象的子集 2.索引的不同选择 对象选择已经有许多用户请求的添加,以支持更明确的基于位置的索引.Pandas现在支持三种类型的多轴索引. .lo ...
 - Pandas基本功能详解
		
Pandas基本功能详解 Pandas Pandas基本功能详解 |轻松玩转Pandas(2) 参考:Pandas基本功能详解 |轻松玩转Pandas(2)
 - Pandas基本功能之reindex重新索引
		
重新索引 reindex重置索引,如果索引值不存在,就引入缺失值 参数介绍 参数 说明 index 用作索引的新序列 method 插值 fill_vlaue 引入缺失值时的替代NaN limit 最 ...
 - pandas数组和numpy数组在使用索引数组过滤数组时的区别
		
numpy array 过滤后的数组,索引值从 0 开始. pandas Series 过滤后的 Series ,保持原来的索引,原来索引是几,就是几. 什么意思呢,来看个栗子: import num ...
 - Pandas常用功能总结
		
1.读取.csv文件 df2 = pd.read_csv('beijingsale.csv', encoding='gb2312',index_col='id',sep='\t',header=Non ...
 - pandas:由列层次化索引延伸的一些思考
		
1. 删除列层次化索引 用pandas利用df.groupby.agg() 做聚合运算时遇到一个问题:产生了列方向上的两级索引,且需要删除一级索引.具体代码如下: # 每个uesr每天消费金额统计:和 ...
 
随机推荐
- uva-10085-搜索-最远状态的八数码
			
直接bfs即可,取最后一个状态 #include <iostream> #include <stdio.h> #include <string> #include ...
 - 代码: CSS3动画,简单示例(鼠标移上去后,背景图片旋转)
			
<script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.11.2/jquery.mi ...
 - 《汇编语言 基于x86处理器》第八章高级过程部分的代码 - 两种规范计算数组元素的和
			
▶ 输入 Count 个 32 位有符号整数,计算他们的和 ● 代码,使用堆栈传参 ;// Sum_main.asm,主过程 INCLUDE Irvine32.inc EXTERN PromptFor ...
 - 白鹭引擎 - 绘制圆形的进度条 ( graphics )
			
class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 ...
 - leetcode985
			
import sys class Solution: def sumEvenAfterQueries(self, A: 'List[int]', queries: 'List[List[int]]') ...
 - VC中编译报错:error C2011: 'fd_set' : 'struct' type redefinition
			
这是头文件包含顺序的问题,原因与解决办法见下面代码的注释. /* 包含下面这两个头文件时,必须把winsock2.h放在前面 否则编译报错,N多的重定义错误:例如 error C2011: 'fd_s ...
 - ADOQuery.Parameters: Property Parameters does not exist
			
Exception class EReadError with message 'Property Parameters does not exist'. Exception class EReadE ...
 - Linux zookeeper 单机安装
			
Zookeeper(端口2181) 下载地址 http://mirror.bit.edu.cn/apache/zookeeper/ 解压到/usr/local目录 >tar -zxvf zook ...
 - Docker容器硬盘动态扩容
			
扩容容器 docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以在docker配置文件里通过dm.basesize参数指定,比如 1 docker -d --sto ...
 - zatree的安装
			
zatree的安装有2种 一种是支持2.x的用以下方法安装 zabbix安装zatree 实现图形树状化 官网:https://github.com/spide4k/zatree [root@SERV ...