Numpy教程(3)

作者: 孙宏志 | 来源:发表于2017-11-15 23:25 被阅读0次

1. ndarray属性

  • dtype:一个用于说明数组元素数据类型的对象。
  • shape: 一个数组的各个维度大小的元组,即表示数组的形状
  • size:元素总个数,即shape中各个数的相乘
  • ndim: 一个数组的维度数量
a = np.array([
    [1,2],
    [3,4],
    [5,6],
    [7,8]
])

print("维度的数量",a.ndim)
print("数组的形状",a.shape)
print("数组的元素类型",a.dtype)
print("数组的元素数量",a.size)
image.png

2. ndarray中元素数据类型

  • 创建numpy数组的时候可以通过属性dtype显示指定数据类型,如果不指定的情况下,numpy会自动推断出合适的数据类型,所以一般不需要显示给定数据类型。
  • 如果需要更改一个已经存在的数组的数据类型,可以通过astype方法进行修改从而得到一个新的数组。


    image.png
  • 数值型dtype的命名方式为:一个类型名称(eg:int, float等),后接一个表示各个元素位长的数字

比如Python的float数据类型(双精度浮点值),需要占用8个字节(86位),因此在Numpy中记为float64。

  • 每个数据类型都有一个类型代码,即简写方式。


    image.png
    image.png
    image.png
image.png

3. ndarray修改形状

  • 对于一个已经存在的ndarray数组对象而言,可以通过修改形状相关的参数/方法从而改变数组的形状。

直接修改数组ndarray的shape的值,要求修改后乘积不变。
直接使用reshape函数创建一个改变尺寸的新数组,原数组的shape保持不变,但是新数组和原数组共享一个内存空间,也就是修改任何一个数组中的值都会对另外一个产生影响,另外要求新数组的元素个数和原数组一致。

  • 当指定一个轴为-1的时候,表示将根据数组元素的数量自动计算该轴的长度值。
  1. 直接修改shape的值
    这种操作会直接修改原数组的形状。


    image.png
  2. 使用reshape方法修改形状
  • -1 表示当前维度的元素个数,自动计算,会根据数组元素的个数,和已经传入的数值,来判断-1位置的值应该填写的数字。
  • 这种操作不会修改原数组的形状,返回一个修改形状后的新的数组。


    image.png
import numpy as np
a = np.arange(1,25,2)    #生成一个从1开始到25结尾(不包含25),步长为2的一维数组。
print(a)                 #打印生成的数组
print(a.size)            #打印数组的大小

b = a.reshape(2,6)       #通过reshape函数根据原数组元素内容生成一个新的(2,6)的二维数组
print(b)                 #打印新生的数组
print(b.size)            #打印新数组大小
print(a)                 #打印原数组

b[0][1] = 30             #修改新数组中第一行,第二列的数值为30
print(b)                 #打印新数组
print(a)                 #打印原数组,数值根据新数组的变化,一起改变了。

print(a.reshape(3,-1))   #通过-1来确定列的数目

print(a.reshape(-1,3))   #通过-1来确定行的数目

a.shape                  #打印原数组的形状,确定原数组的形状没有变更

image.png

相关文章

  • numpy教程

    numpy中文文档 NumPy 教程 | 菜鸟教程

  • Numpy教程(3)

    1. ndarray属性 dtype:一个用于说明数组元素数据类型的对象。 shape: 一个数组的各个维度大小的...

  • Content

    1. Python 教程2. NumPy 快速入门教程3. Pandas 10 分钟4. Matplotlib 例...

  • Numpy

    Python之Numpy详细教程 - CSDN博客 python:numpy详细教程 - CSDN博客 Pytho...

  • 人工智能之数学(四) ------ 矩阵numpy操作

    菜鸟教程 NumPy 教程 一.基本概念 NumPy(Numerical Python) 是 Python 语言的...

  • pandas numpy

    pandas 时间序列操作 python numpy教程 Numpy中矩阵对象(matrix) numpy中的数据...

  • mahotas进行细胞统计开胃菜

    Python 图像教程 介绍 需要用到的软件 Python 3+ numpy matplotlib mahotas...

  • NumPy学习笔记

    教程:NumPy教程 阅读笔记: 1.1 axis ndarray是一个多维数组,比如我们有一个(2,4,3)这样...

  • Python NumPy 实例教程 [译]

    # Python NumPy 实例教程 [译] *在本教程中,您将找到使用NumPy解决数值计算和科学计算问题的解...

  • Numpy 多维数组创建

    说明:文章所有内容均截选自用户“huhuhang”发布在实验楼上的教程【Numpy 使用教程】,如果对Numpy感...

网友评论

    本文标题:Numpy教程(3)

    本文链接:https://www.haomeiwen.com/subject/omehvxtx.html