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]: 3In [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]: 1In [11]: obj[1] Out[11]: 1
2)切片
In [12]: obj['b':'d'] #包含尾部 Out[12]: b 1 c 2 d 3 dtype: int64In [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: int64In [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 11In [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]: 8In [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 15In [53]: obj.iloc[2,[2,0,1]] #变换列顺序 Out[53]: c3 10 a1 8 b2 9 Name: c, dtype: int64In [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: int64In [58]: obj.loc['a':'c',['b2','a1']] Out[58]: b2 a1 a 1 0 b 5 4 c 9 8
转载于:https://www.cnblogs.com/tongtong123/p/10620206.html
numpy和pandas的基础索引切片相关推荐
- numpy 创建加一行_Python数据分析快速入门--NumPy amp; Pandas
之前为大家分享了python的基本语法,有疑问的小伙伴可以参考下文- 土豆爱数学:零基础如何快速入门pythonzhuanlan.zhihu.com 对python基本语法了解后,就可以尝试用pyt ...
- Python基础学习——Numpy包(2、索引、切片与迭代)
1. 副本与视图 Numpy中做数组运算或数组操作时,返回结果都是数组的副本或视图. 副本:原有数据的一份拷贝,改变副本不会改变原数据 视图:原有数据的一个引用或别称(赋值操作),对视图的修改会引起原 ...
- Numpy与Pandas基础
Numpy与Pandas基础 Cyczz 计算机小白 关注他 1 人赞同了该文章 本文包括: 一维数据分析 二维数据分析 一.一维数组 Numpy的一维数组(array) 创建一个一维数组,参数传入 ...
- Python 数据分析三剑客之 NumPy(二):数组索引 / 切片 / 广播 / 拼接 / 分割
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- 数据挖掘课程笔记6 : Numpy、Pandas和Matplotlib包基础知识
#2018-03-22 10:23:16 March Thursday the 12 week, the 081 day SZ SSMR http://blog.csdn.net/eastmount/ ...
- 【Python 数据科学】Numpy和Pandas基础
文章目录 一.Numpy基础简介 1.基础 2. 数组的加减乘除.切片与列表相同 二.Pandas 基础 1.series 1)基础 2)切片 2.dataframe 1).构造 2).切片 取行 取 ...
- numpy 获取特定数值的索引_入门Numpy、Pandas及案例实践
用Python进行数据分析,需要用到数据分析相关的包,如本文中用到的pandas和numpy包. 本文目录: 用python分析一维数据 用python分析二维数据 案例:销售数据分析 一.一维数据分 ...
- 数据分析:numpy和pandas基础操作详解
数据处理基础 numpy基础 1.numpy创建数组及基础属性 2.数组的特点 3.创建常见数组 4.数组数据类型 5.生成随机数 6.一维数组索引 7.布尔索引 8. 多维数组的索引 9.实际问题 ...
- 数据基础---numpy、pandas使用教程
数组对象 Numpy库 Numpy最重要的一个特点是就是其N维数组对象,即ndarray,ndarray是一个通用的同构数据多维容器,其中的所有元素必须是相同类型的.每个数组都有一个shape(一个表 ...
最新文章
- 干货丨 简述迁移学习在深度学习中的应用
- 如何在不影响网络的情况下构建边缘计算策略
- cambridge official online course store
- 使用node和npmVS时出现的问题
- mongodb 物理删除数据
- 算法入门篇八 贪心算法
- Android官方开发文档Training系列课程中文版:OpenGL绘图之环境配置
- 网页打开微信公众号关注界面
- Linux基础命令---tracepath
- 蒸汽朋克简单图形免扣PNG素材,让设计艺术变得简单
- 租房系统代码java_基于Java的租房管理系统的设计及实现.doc
- Facebook 发币 Libra;谷歌十亿美金为穷人造房;第四代树莓派 Raspberry Pi 4 发布 | 开发者周刊...
- java中.length得到结果_Java length()方法:获取字符串的长度
- POJ 2429 GCD LCM Inverse
- window 右击菜单启动 nodejs app
- 【PHP设计模式 02_JieKou.php】面向接口开发
- Python3.6 安装pandas包的方法
- c++质数判定及输出质数表
- 前端常用PS技巧总结之将图片背景透明化
- spring BeanPostProcessor使用场景
热门文章
- 【Tensorflow-Error】CUDA_ERROR_OUT_OF_MEMORY: out of memory
- 从晶体管特性曲线看饱和问题(Z)
- matlab调用C程序
- DengAI —数据预处理
- nlp自然语言处理_自然语言处理(NLP):不要重新发明轮子
- 使用Xcap发送网络数据包
- 上半年银行罚单不断,7月越早贷款越有利
- nodejs写html文件路径,Nodejs读取文件时相对路径的正确写法(使用fs模块)
- 鸿蒙之下5怎么跳城池,鸿蒙之空间道尊
- rabbitmq怎样确认是否已经消费了消息_阿里Java研发二面:了解RabbitMQ?说说RabbitMQ可靠性投递...