美文网首页
4.numpy基础

4.numpy基础

作者: ArtioL | 来源:发表于2019-08-05 22:27 被阅读0次

NumPy的ndarray: 一种多维数组对象

Numpy最重要的一个特点就是其N维数组对象(ndarray),该对象是一个快速灵活的大数据集容器.你可以利用这种数组对整块数据执行一些数学运算,其语法跟标量元素之间的运算一样:

In[1]:data
Out[1]:
array([[0.1, 0.2],
       [0.3, 0.4]])
In[2]:data * 10
Out[2]:
array([[1, 2],
       [3, 4]])

ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。每个数组都有一个shape(一个表示各维度大小的元祖)和一个dtype(一个用于说明数组数据类型的对象):

data.shape // (2, 3)
data.dtype // dtype('float64')
  1. 创建ndarray
import numpy as np


data1 = [6, 7.5, 8, 0, 1]
arr1 = np.array(data1)

data2 = [[1,2, 3, 4], [5, 6, 7,8]]
arr2 = np.array(data2)

arr2.ndim // 2 维度

arr2.shape // (2, 4) 

arr1.dtype //dtype('float64')

arr2.dtype // dtype('int64')
函数 说明
array 将输入数据(列表、元祖、数组或其他序列类型) 转换为ndarray。要么推断出dtype,要么显示指定dtype.默认直接复制输入数据.(浅拷贝)
ararray 将输入转换为ndarray,如果输入本身就是一个ndarray将不进行复制(直接引用对象本身)
arange 类似于内置的range,但返回的是一个ndarray而不是列表
ones, ones_like 根据指定的形状或dtype创建一个全1数组。ones_like以另一个数组为参数,并根据其形状和dtype创建一个全1数组.
zeros、zeros_like 类似于ones和ones_like,只不过产生的是全0的数组
empty、empty_like 创建新数组,只分配内存空间但不填充任何值(垃圾值)
eye, identity 创建一个正方的NxN单位矩阵(对角线为1,其余为0)

2.ndarray的数据类型

import numpy as np
arr1 = np.array([1, 2, 3]. dtype=np.float64)

arr2 = np.array([1, 2, 3], dtype=np.int32)

np的数据类型只要有

类型 类型代码 说明
int8, uint8 i1 u1
int16 uint16 i2 u2
int32 uint32 i4 u4
int64 unint64 i8 u8
float16 f2
float32 f4或f
float64 f8或d
float128 f16或g
complex64 complex128 complex 256 c8 c16 c32
bool ?
object O python对象类型
string_ S 固定长度的字符串类型(每个字符一个字节) 列如,要创建一个长度为10的字符串 应使用S10
unicode_ U 固定长度的unicode类型,跟字符串的定义方式一样
arr = np.array([3,7, -1,2, -2.6, 0.5, 12.9, 10.1])
arr.astype(np.int32)// array([3, -1, -2, 0, 12, 10])

3.数组的运算

数组与标量之间的运算

arr = np.array([[1., 2., 3.], [4., 5., 6.]])

arr * arr // array([[1., 4., 9.], [16., 25., 36.]])

1 / arr // array([[1., 0.5, 0.333], [-.25. 0.2, 0.1667]])

arr * 2 // array([[2., 4., 6.], [8., 10., 12.]])

4.基本的索引和切片

arr = np.arange(10)

arr[5]  // 5

arr[5:8] // array([5, 6, 7])

arr[5: 8] = 12 // array([0, 1, 2, 3, 4, 12, 12, 12, 8, 9])

相关文章

  • 4.numpy基础

    NumPy的ndarray: 一种多维数组对象 Numpy最重要的一个特点就是其N维数组对象(ndarray),该...

  • 4.Numpy与pandas

    numpy和pandas的作用 numpy简单来说,就是用来做矩阵运算的python包,pandas是基于nump...

  • 机械设备安装技术

    设备基础种类及应用 垫层基础允许产生沉降:大型储罐 浅基础扩展基础联合基础:轧机独立基础 深基础桩基础:适用于需要...

  • 基础,基础,基础

    如果有人现在问我,JAVA该怎么学,我会告诉他不要急于求成,少看视频,多练,多思考。但说到这里有人可能会反...

  • 【Android】知识点汇总,坚持原创ing

    Android基础 Java基础 Java基础——Java内存模型和垃圾回收机制 语法基础 语法基础——C语法基础...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • 零基础学画画从入门到放弃

    零基础应该怎么学画画?零基础那就从基础开始学啊!基础是什么?造型基础和色彩基础。 造型基础就是用点线面组成起码能让...

  • 面试题汇总

    1.Java基础面试问题 Java基础之基础问题 Java基础之面向对象 Java基础之数据结构 Java基础之I...

  • 基础基础还是基础

    这次去面试,还是被基础给打趴下了。 对于PHP7的新特性没有了解。 对于TP的新特性没有了解。 再一个就是独立完成...

  • 零基础学UI设计需要美术基础吗?

    零基础学UI设计需要美术基础吗?零基础学UI设计需要美术基础吗?零基础学UI设计需要美术基础吗?零基础学UI设计需...

网友评论

      本文标题:4.numpy基础

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