numpy和pandas的基础索引切片
Numpy的索引切片
索引
In [72]: arr = np.array([[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]) In [73]: arr
Out[73]:
array([[[1, 1, 1],
[2, 2, 2]], [[3, 3, 3],
[4, 4, 4]]]) In [74]: arr.ndim
Out[74]: 3 In [75]: arr.shape
Out[75]: (2, 2, 3) In [76]: arr[0] #返回降低一个维度的数组
Out[76]:
array([[1, 1, 1],
[2, 2, 2]])
In [77]: arr[0,0] #返回一维数组
Out[77]: array([1, 1, 1])
切片
In [78]: arr[:,:,:2]
Out[78]:
array([[[1, 1],
[2, 2]], [[3, 3],
[4, 4]]])
索引与切片结合
array([[[1, 1, 1],
[2, 2, 2]],
[[3, 3, 3],
[4, 4, 4]]])
In [79]: arr[0,1,:2]
Out[79]: array([2, 2])
Pandas的索引切片
一、Series的索引
In [8]: obj = pd.Series(np.arange(4),index=['a','b','c','d']) In [9]: obj
Out[9]:
a 0
b 1
c 2
d 3
dtype: int64
1)使用index进行索引
In [10]: obj['b']
Out[10]: 1 In [11]: obj[1]
Out[11]: 1
2)切片
In [12]: obj['b':'d'] #包含尾部
Out[12]:
b 1
c 2
d 3
dtype: int64 In [13]: obj[1:3]
Out[13]:
b 1
c 2
dtype: int64
3)使用索引列表进行索引
In [14]: obj[['b','d']]
Out[14]:
b 1
d 3
dtype: int64 In [15]: obj[[1,3]]
Out[15]:
b 1
d 3
dtype: int64
二、DataFrame的索引
In [20]: obj = pd.DataFrame(np.arange(16).reshape((4,4)),index=['a','b','c','d'
...: ],columns=['a1','b2','c3','d4'])
In [21]: obj
Out[21]:
a1 b2 c3 d4
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
1)索引列
不可以obj[‘a’]了
In [32]: obj['b2']
Out[32]:
a 1
b 5
c 9
d 13
Name: b2, dtype: int64
2)行切片
In [36]: obj[:3]
Out[36]:
a1 b2 c3 d4
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11 In [37]: obj[obj['c3']>6] #根据布尔值数组选择数据
Out[37]:
a1 b2 c3 d4
c 8 9 10 11
d 12 13 14 15
3)索引列和行
In [38]: obj['a1']['c']
Out[38]: 8 In [39]: obj['a1'][:2]
Out[39]:
a 0
b 4
Name: a1, dtype: int64
4)使用loc和iloc选择数据
使用轴标签(loc)或整数标签(iloc)从DataFrame中选出数组的行和列的子集
整数标签(iloc):
In [55]: obj
Out[55]:
a1 b2 c3 d4
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15 In [53]: obj.iloc[2,[2,0,1]] #变换列顺序
Out[53]:
c3 10
a1 8
b2 9
Name: c, dtype: int64 In [54]: obj.iloc[2] #索引行
Out[54]:
a1 8
b2 9
c3 10
d4 11
Name: c, dtype: int64
轴标签(loc):
In [57]: obj.loc['a',['b2','a1']]
Out[57]:
b2 1
a1 0
Name: a, dtype: int64 In [58]: obj.loc['a':'c',['b2','a1']] Out[58]:
b2 a1
a 1 0
b 5 4
c 9 8
numpy和pandas的基础索引切片的更多相关文章
- python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)
//2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...
- Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】
目录 切片(slicing)操作 索引(indexing) 操作 最简单的情况 获取多个元素 切片和索引的同异 切片(slicing)操作 Numpy 中多维数组的切片操作与 Python 中 lis ...
- Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档
array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...
- 《Python数据分析常用手册》一、NumPy和Pandas篇
一.常用链接: 1.Python官网:https://www.python.org/ 2.各种库的whl离线安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...
- 【转】python 中NumPy和Pandas工具包中的函数使用笔记(方便自己查找)
二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准 ...
- python 中NumPy和Pandas工具包中的函数使用笔记(方便自己查找)
二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准 ...
- NumPy和Pandas常用库
NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...
- 05-pandas索引切片读取数据缺失数据处理
引入 numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢? numpy能够帮我们处理处理数值型数据,但是这还不够 很多时候, ...
- 常用numpy和pandas
常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准数学 ...
随机推荐
- SpringBoot+SpringSecurity+jwt整合及初体验
原来一直使用shiro做安全框架,配置起来相当方便,正好有机会接触下SpringSecurity,学习下这个.顺道结合下jwt,把安全信息管理的问题扔给客户端, 准备 首先用的是SpringBoot, ...
- 《周易》中的君子形象--http://cul.china.com.cn/guoxue/2018-06/04/content_40369049.htm
中国文学本质上是一种君子文学,君子是中国文学的创作主体,君子与小人的人格冲突是中国文学矛盾冲突的主要形式.最早的君子是居住于城邦的贵族,而西周以来这一语词的道德化倾向愈来越重,渐渐摆脱了阶级意义而成为 ...
- mysql查看整库个表详情
information_schema.tables字段说明 字段 含义 Table_catalog 数据表登记目录 Table_schema 数据表所属的数据库名 Table_name 表名称 Tab ...
- Codeforces Round #621 (Div. 1 + Div. 2)D dij(思维)
题:https://codeforces.com/contest/1307/problem/D 题意:给定无向图,n为点,m为边.在给个k,为特殊点的数目,题目要求在这些特殊点上连一条边,让新图最短路 ...
- 第二季第十一天 html5语义化标签 css透明度
span不能设置宽高背景 HTML5语义化标签 <section>标签所包裹的是有一组相似的主题的内容,可以用这个标签来实现文章的章节.标签式对话框中的各种标签页等类似的功能. <s ...
- 踏出第一步——安装并跑通python程序
一.首先学会安装python软件 1.在浏览器下输入安装python软件的官方网址. 点击打开链接 2.在界面上点击"Downloads"下的"Windows" ...
- Acunetix WVS安全测试软件使用教程(入门级)
1.下载 Acunetix WVS 10.5软件,下载地址为:https://pan.baidu.com/s/1Koku0Lhya5PgphMVL7w19g 密码:v438 2.压缩包中有破解说明,按 ...
- Linux 安装python3.x步骤
本文转发自博客园非真的文章,内容略有改动 本文已收录至博客专栏linux安装各种软件及配置环境教程中 linux系统本身默认安装有2.x版本的python,版本x根据不同版本系统有所不同,通过pyth ...
- BBS登录功能
BBS登录功能 一.后端实现 1.实现验证码 from PIL import Image, ImageDraw, ImageFont import random from io import Byte ...
- visual studio2019下静态链接库的制作
创建静态库项目 项目名称为20199324lib // pch.h #ifndef __PCH__ #define __PCH__ extern int add(int a, int b);//ext ...