转载自:博客

在python&numpy中切片(slice)

上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此。在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作。此时就需要对数据进行变换,切片,来生成自己需要的数据形式。

对于一维数组来说,python原生的list和numpy的array的切片操作都是相同的。无非是记住一个规则arr_name[start: end: step],就可以了。

实例:

下面是几个特殊的例子:

  • [:]表示复制源列表
  • 负的index表示,从后往前。-1表示最后一个元素。

相对于一维数组而言,二维(多维)数组用的会更多。一般语法是arr_name[行操作, 列操作]
先随机产生一个3*4的数组。

in:arr = np.arange(12).reshape((3, 4))

out:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])

  • 取行数据
arr[i, :] #取第i行数据
arr[i:j, :] #取第i行到第j行的数据
  • 取列数据(注意数据格式)
in:arr[:,0] # 取第0列的数据,以行的形式返回的
out:
array([0, 4, 8])

in:arr[:,:1] # 取第0列的数据,以列的形式返回的
out:
array([[0],
[4],
[8]])

  • 取一个数据块
# 取第一维的索引1到索引2之间的元素,也就是第二行
# 取第二维的索引1到索引3之间的元素,也就是第二列和第三列
in:arr[1:2, 1:3]

out:
array([[5, 6]])

# 取第一维的全部
# 按步长为2取第二维的索引0到末尾之间的元素,也就是第一列和第三列
in: arr[:, ::2]

out:
array([[ 0, 2],
[ 4, 6],
[ 8, 10]])

参考文献

  • Python之numpy教程(二):运算、索引、切片
  • Numpy 笔记(二): 多维数组的切片(slicing)和索引

欢迎大家关注我的微信公众号,未来上面会推送python 机器学习 算法学习 深度学习 论文阅读 以及偶尔的小鸡汤等内容。ようこそいらっしゃい!

搜索 coderwangson 关注

在pythonnumpy中切片(slice)相关推荐

  1. 切片slice(python)

    切片slice 作用:从容器中取出相应的元素重新组成一个容器. 语法:容器[(开始索引):(结束索引)(:(步长))] 小括号()括起的部分代表可省略 说明: 结束索引不包含该位置元素 步长是切片每次 ...

  2. 位置2的索引超出数组范围不能超过10_golang学习笔记--切片slice 与数组 arr

    因为我是写php的,刚开始写go的时候老是被数组坑.因为在go中的数组是固定长度,所以会存在越界的时候.而在go中也很少直接使用数组.更多的时候会使用slice(切片). 数组 数组是一个由固定长度的 ...

  3. 切片 go 去除第一个_golang学习笔记--切片slice 与数组 arr

    因为我是写php的,刚开始写go的时候老是被数组坑.因为在go中的数组是固定长度,所以会存在越界的时候.而在go中也很少直接使用数组.更多的时候会使用slice(切片). 数组 数组是一个由固定长度的 ...

  4. 【Go】Go 语言切片(Slice)

    文章目录 一.切片 二.声明切片 方法1 方法2 总结:创建切片的各种方式 三.切片初始化 1. 声明的同时初始化 2. 用数组初始化切片 3. 切片的内存布局: 读写操作实际目标是底层数组,只需注意 ...

  5. Go开发 之 容器(数组Array、切片slice、映射map、列表list)

    文章目录 0.唠唠叨叨 1.数组-Array 1.1.什么是数组 1.1.1.数组的声明 1.1.2.比较两个数组是否相等 1.1.3.示例 1.1.3.1.通过索引下标访问元素 1.1.3.2.数组 ...

  6. Golang 入门 : 切片(slice)

    切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合.切片是围绕动态数组的概念构建的,可以按需自动增长和缩小.切片的动态增长是通过内置函数 append( ...

  7. Golang如何遍历切片slice

    前言 这两天用golang开发一个把企业微信的打卡记录同步到HR-OA系统的一个中间表的功能,同步时把从企业微信接口里查询到的打卡记录放到一个对象的切片里,然后遍历切片把每条打卡记录写到中间表,这里涉 ...

  8. rust中的slice

    一.什么是切片(Slice) 切片这个概念很形象,也很容易为人理解.正如一个面包,如果一个无法吃掉全部,那么给他切一片不正好么?既不浪费,又不会引起不必要的后果.这样比喻不是很贴切,但其实意思有些类似 ...

  9. go数组Array和切片Slice全面简述理解

    小聊:本文是小白刚学习 golang 时候的总结,在基本学习了解之上的特性比较与讨论,go的数组有什么不同?切片又有什么好处?怎么去区分它们的使用?外加一些知识的拓展,有利于加深对 go 的 Arra ...

最新文章

  1. LeetCode简单题之机器人能否返回原点
  2. 正道的光!这有个用TensorFlow做的小黄图过滤器
  3. Docker是个啥?
  4. Android Annotations配置与使用
  5. python编程基础_月隐学python第2课
  6. Mac使用crontab来实现定时任务
  7. 支持自动水平拆分的高性能分布式数据库TDSQL
  8. iOS APP产品流水线----- 模块化开发及组件化模块化的讨论(解耦、面向接口调用、面向页面调用、封装SDK)
  9. WebStorm中配置node.js(Windows)
  10. python sort sorted_Python sort和sorted
  11. 页面加载微信聊天记录图片不显示问题
  12. Qml控件之Calendar日历
  13. JavaScript设计模式——工厂模式
  14. bzoj 3838: [Pa2013]Raper (线段树)
  15. 侍魂胧月传说显示服务器满了,侍魂胧月传说满级玩法一览
  16. [文档] 软件需求规格说明书
  17. PDF预览组件 Adobe Reader ActiveX控件使用
  18. Probabilistic Volumetric Fusion for Dense Monocular SLAM
  19. Day_01 HTML
  20. 年轻人的第一个在线音乐播放器(简单易上手)

热门文章

  1. 几种等等概率抽样方法
  2. 2022第七届少儿模特明星盛典全国总决赛 圆满落幕
  3. 现代信息技术(IT)对会计模式的影响(by 杨烈飙)
  4. Java斗地主界面实现_通过Java实现斗地主
  5. 李广之死――浅析项目管理
  6. linux C判断文件是否存在
  7. Python软件编程等级考试三级——20210314
  8. Java:用递归计算n!
  9. Oracle EBS OPM创建会计科目告警:日记帐分录不平衡
  10. 视频帧率与显示刷新率