在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中切片(slice)的更多相关文章

  1. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  2. Python numpy 中常用的数据运算

    Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.——<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...

  3. python numpy中sum()时出现负值

    import numpy a=numpy.random.randint(1, 4095, (5000,5000)) a.sum() 结果为负值, 这是错误的,a.sum()的类型为 int32,如何做 ...

  4. 【转】Python高级特性——切片(Slice)

    摘录廖雪峰网站 定义一个list: 1 L = ['haha','xixi','hehe','heihei','gaga'] 取其前三个元素: >>> L[0],L[1],L[2] ...

  5. python之列表切片(slice)

    使用索引获取列表的元素(随机读取) 列表元素支持用索引访问,正向索引从0开始 colors=["red","blue","green"] c ...

  6. Python Numpy中数据的常用的保存与读取方法

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

  7. Day7 python高级特性-- 切片 Slice

    先举一个例子,取list或tuple中的某几个元素:     1.取 ['a','b','c','d','e','f'] 第1.2.5.6个元素:        >>> a = [' ...

  8. python numpy中数组.min()

    import numpy as np a = np.array([[1,5,3],[4,2,6]]) print(a.min()) #无参,所有中的最小值 print(a.min(0)) # axis ...

  9. Python Numpy中transpose()函数的使用

    在Numpy对矩阵的转置中,我们可以用transpose()函数来处理. 这个函数的运行是非常反常理的,可能会令人陷入思维误区. 假设有这样那个一个三维数组(2*4*2): array ([[[ 0, ...

随机推荐

  1. MySQL 存储表情字符

    摘要 在 MySQL 中直接存储表情的时候,会出现无法插入数据的错误. 这是由于一般情况下,MySQL 的字符集是 utf8,而对于 emoji 表情的 mysql 的 utf8 字符集是不支持,需要 ...

  2. jq-实战之表格筛选

    css部分 .select{background: #ccc} html部分 table width="> <thead> <th>姓名</th> ...

  3. uml系列(五)——对象图和包图

    对象图,对象图是系统在某一时刻的对像.关系和属性值的快照.相当于看电视的时候的暂停.便于说明设计者的意图,模拟系统的运行状态,分析说明源代码. 再说对象图之前,我们首先需要了解对象是什么.我们一直都再 ...

  4. esri-leaflet部分瓦片缺失问题及解决办法

    esri-leaflet加载TileLayer的时候,有时候由于数据的原因,造成部分瓦片缺失的问题,网页加载TileLayer的时候,当地图范围正好拖动到缺失的范围的时候,会一直请求 http://d ...

  5. HTTP学习(一)初识HTTP

    作为一名准前端开发工程师,必须要对http基础知识有一定的了解,可是想学习HTTP相关的知识,发现国内只有两本相关的图书,<HTTP权威指南>和<图解http>,所有的书但凡带 ...

  6. 从并发处理谈PHP进程间通信(二)System V IPC

    .container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...

  7. ASP.NET MVC5 实现分页查询

    对于大量数据的查询和展示使用分页是一种不错的选择,这篇文章简要介绍下自己实现分页查询的思路. 分页需要三个变量:数据总量.每页显示的数据条数.当前页码. //数据总量 int dataCount; / ...

  8. HTTP状态码理解

    100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息. 400-499 用于指出客户端的错 ...

  9. c#导入excel 绑定数据 repeat为例子

    先读取Excel文件并存到dataset public DataSet ExcelToDataTable(string filename, string strsheetname) { try { / ...

  10. linux编译内核

    ubuntu 14.04 编译内核出现unable to locate package ncurses-devel 问题的解决   首先,在make menuconfig的时候就会提示没有 nucrs ...