Series索引的工作方式类似于NumPy数组的索引,不过Series的索引值不只是整数,如:

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
obj=Series(np.arange(4),index=['a','b','c','d'])
obj=Series(np.arange(4),index=['a','b','c','d'])
obj
Out[10]:
a 0
b 1
c 2
d 3
dtype: int32
obj['b']
Out[11]: 1 obj[1]
Out[12]: 1 obj[2:4]
Out[13]:
c 2
d 3
dtype: int32 obj[['b','a','d']]
Out[14]:
b 1
a 0
d 3
dtype: int32 obj[[1,3]]
Out[15]:
b 1
d 3
dtype: int32

obj[obj<2]
Out[17]:
a 0
b 1
dtype: int32

#利用标签索引与普通的Python切片运算不同
#因为末端是包含的
obj['b':'c']=5 obj
Out[24]:
a 0
b 5
c 5
d 3
dtype: int32
 
DataFrame 进行索引其实就是获取一个或者多个列:
 
获取列:指定列名称即可
data=DataFrame(np.arange(16).reshape((4,4)),index=['Ohio','Colorado','Utah','New York'],columns=['one','two','three','four'])

data
Out[26]:
one two three four
Ohio 0 1 2 3
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15 data['two']
Out[27]:
Ohio 1
Colorado 5
Utah 9
New York 13
Name: two, dtype: int32 data[['three','one']]
Out[28]:
three one
Ohio 2 0
Colorado 6 4
Utah 10 8
New York 14 12
获取行:
(1)通过切片或布尔型数组;
(2)通过布尔型DataFrame进行索引;
(3)在行上标签索引,引入索引字段ix,它可以通过NumPy式的标记法及轴标签从DataFrame中选取行和列的子集。

#切片获取行
data[:2]
Out[29]:
one two three four
Ohio 0 1 2 3
Colorado 4 5 6 7 #布尔型数组获取行
data[data['three']>5]
Out[30]:
one two three four
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15 #布尔型DataFrame进行索引
data<5
Out[31]:
one two three four
Ohio True True True True
Colorado True False False False
Utah False False False False
New York False False False False #将data<5的数值赋值为0
data[data<5]=0 data
Out[33]:
one two three four
Ohio 0 0 0 0
Colorado 0 5 6 7
Utah 8 9 10 11
New York 12 13 14 15 #行上进行标签索引,使用索引字段ix
data.ix['Colorado',['two','three']]
Out[34]:
two 5
three 6
Name: Colorado, dtype: int32 data.ix[['Colorado','Utah'],[3,0,1]]
Out[35]:
four one two
Colorado 7 0 5
Utah 11 8 9 #索引的是行索引号为2的数据,也就是行Utah
data.ix[2]
Out[36]:
one 8
two 9
three 10
four 11
Name: Utah, dtype: int32 data.ix[:'Utah','two']
Out[37]:
Ohio 0
Colorado 5
Utah 9
Name: two, dtype: int32 #索引data.three>5的行
data.ix[data.three>5,:3]
Out[38]:
one two three
Colorado 0 5 6
Utah 8 9 10
New York 12 13 14

DataFrame的索引选项

#选取DataFrame的单个列或者一组列
obj[val]
#选取的单个行或者一组行
obj.ix[val]
#选取单个列或列的子集
obj.ix[:,val]
#同时选取行和列
obj.ix[val1,val2]
 

pandas 索引、选取和过滤的更多相关文章

  1. Pandas DataFrame 数据选取和过滤

    This would allow chaining operations like: pd.read_csv('imdb.txt') .sort(columns='year') .filter(lam ...

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

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

  3. pandas子集选取的三种方法:[]、.loc[]、.iloc[]

    pandas读取Excel.csv文件中的数据时,得到的大多是表格型的二维数据,在pandas中对应的即为DataFrame数据结构.在处理这类数据时,往往要根据据需求先获取数据中的子集,如某些列.某 ...

  4. 【python】pandas 索引操作

    选择.修改数据(单层索引) 推荐使用.at..iat..loc..iloc 操作 句法 结果 备注 选择列 df[col] Series 基于列名(列的标签),返回Series 用标签选择行 df.l ...

  5. 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) ...

  6. pandas 索引与列相互转化

    1. 准备数据 import pandas as pd from io import StringIO csv_txt = '''"date","player1" ...

  7. Pandas索引和选择数据

    在本章中,我们将讨论如何切割和丢弃日期,并获取Pandas中大对象的子集. Python和NumPy索引运算符"[]"和属性运算符".". 可以在广泛的用例中快 ...

  8. pandas索引操作

    Pandas的索引操作 索引对象Index 1. Series和DataFrame中的索引都是Index对象 示例代码: print(type(ser_obj.index)) print(type(d ...

  9. Pandas 索引和切片

    Series和Datafram索引的原理一样,我们以Dataframe的索引为主来学习 列索引:df['列名'] (Series不存在列索引) 行索引:df.loc[].df.iloc[] 选择列 / ...

随机推荐

  1. USACO 2014 US Open Fair Photography /// 技巧

    题目大意: 给定n头奶牛 给定n头奶头所在位置和品种 品种只有G H两种 求一段区间的长度 要求区间内包含的品种满足各品种的数量相同 将一个品种的值设为1 另一个设为-1 假设 i<j 而 1~ ...

  2. .net微信扫码支付

    今天给大家分享一篇.net的扫码支付文章,话不多说直接进入主题. 如有需要可以加我Q群[308742428]大家一起讨论技术,有偿服务. 后面会不定时为大家更新文章,敬请期待. 喜欢的朋友可以关注下. ...

  3. 在并发Java应用程序中检测可见性错误

    了解什么是可见性错误,为什么会发生,以及如何在并发Java应用程序中查找难以捉摸的可见性错误.这些问题你可能也遇到过,当在优锐课学习了一段时间后,我对这些问题有了一定见解,写下这篇文章和大家分享. 检 ...

  4. Aspose.Words转换为PDF的时候字体丢失的问题解决

    系统中明明有字体的,Word中显示也正常,就是转换为PDF以后不正常,字体丢失,被替换成了等线字体 好一番研究,终于找到原因 ,原因是Windows\Fonts下的文件,有些只是虚拟的路径,真正的字体 ...

  5. 2018-8-10-win10-uwp-json

    title author date CreateTime categories win10 uwp json lindexi 2018-08-10 19:16:53 +0800 2018-2-13 1 ...

  6. Schema约束与DTD约束

    现将Schema约束与DTD约束实现的一个实例截图出来: 1.DTD 1.1 DTD文件 1.2 DTD实现 2.Schema 2.1 Schema约束 2.2 Schema实现

  7. oracle入门学习之oracle数据库结构

    1. oracle数据库结构 1.1 Oracle可以看做是一个大的数据库???,里面可以创建很多实例; 一个实例对应多个表空间.多个用户; 一个用户只能有一个表空间; 一个表空间可以有多个用户; 一 ...

  8. CSIC_716_20191213【内置函数exec、元类】

    In memory of the more than 300 thousand Chinese murdered exec( 字符类型的代码,全局变量,局部变量 ).其中,全局变量和局部变量可以写成字 ...

  9. mysql 日期函数大全

    对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型. 这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: my ...

  10. 【leetcode】961. N-Repeated Element in Size 2N Array

    题目如下: In a array A of size 2N, there are N+1 unique elements, and exactly one of these elements is r ...