Numpy的ndarray
来源:互联网 发布:java如何做好后端 编辑:程序博客网 时间:2024/05/16 13:43
1)ndarray是N维数组对象,其中所有的元素必须是相同类型,可以对整块数据进行一些数学运算
import numpy as npa = [1, 2, 3]b = 3*ac = np.array(a)*3print(b)print(c)print(c+c)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[3 6 9]
[ 6 12 18]
2)arange是python内置函数range的数组版
print(np.arange(15)) # [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]是数组,不是list
3) 数组切片与列表切片
a = [1, 2, 3]b = a[:2]b[0] = 10print(a)c = np.array(a)c1 = c[:2]c1[0] = 10print(c)a[:2] = [10, 2]print(a)
[1, 2, 3]
[10 2 3]
[10, 2, 3]
通过上面的例子,可以知道ndarray切片的是视图,视图上的任何修改都会直接反映到源数组
如果想得到的不是视图,就必须进行显式操作,c1 = c[:2].copy()
4)数组索引
a[0][2] 与a[0, 2]是等价的
5)ndarray的astype方法显式地转换其dtype
调用astype无论如何都会创建一个新的数组,即使新dtyoe跟老dtype相同也如此
import numpy as npa = np.array([3.7, -1.2, 2.6])print(a)a.astype(np.int)print(a)b = a.astype(np.int)print(b)
[ 3.7 -1.2 2.6]
[ 3.7 -1.2 2.6]
[ 3 -1 2]
6)数组转置
import numpy as nparr = np.arange(15).reshape((3,5))print(arr)b = arr.Tprint(b)
print(np.dot(arr,arr.T))#求矩阵内积
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
[[ 0 5 10]
[ 1 6 11]
[ 2 7 12]
[ 3 8 13]
[ 4 9 14]]
[[ 30 80 130]
[ 80 255 430]
[130 430 730]]
7)通用函数
#快速元素级函数import numpy as nparr = np.arange(10)print(np.sqrt(arr))#一元函数,求根x = np.random.randn(8)y = np.random.randn(8)print(x)print(y)print(np.maximum(x,y))#二元函数,求对应的较大值
[ 0. 1. 1.41421356 1.73205081 2. 2.23606798
2.44948974 2.64575131 2.82842712 3. ]
[-0.30646481 0.19637636 -0.24780102 -1.56935591 -0.52543323 -1.5038108
0.80716262 -1.16165569]
[-1.07482357 1.31523092 1.46381034 -0.82602134 -0.13589412 0.81393135
0.94287863 -0.49948303]
[-0.30646481 1.31523092 1.46381034 -0.82602134 -0.13589412 0.81393135
0.94287863 -0.49948303]
- Numpy的ndarray简介
- Numpy的ndarray
- Python:numPy 的 ndarray
- 什么是Numpy的ndarray
- numpy的ndarray学习笔记
- numpy.ndarray
- numpy -- ndarray
- ndarray.Numpy
- MxNet与numpy 的ndarray区别
- NumPy中ndarray和matrix的四则运算
- numpy中的ndarray对象
- NumPy与ndarray简介
- numpy.ndarray.flatten
- numpy.ndarray.flatten
- ndarray index in numpy
- 'numpy.ndarray' python.list
- Numpy : ndarray切片索引
- numpy ndarray 数组对象
- 笔记5
- Android弹出圆角对话框
- MySQL常用函数
- 《Python自然语言处理》学习笔记(一)
- 86. Partition List
- Numpy的ndarray
- 修改jdk的时候都会在java resources上有个红叉
- Angular 2 For JavaScript ES5 英雄编辑器教程-英雄编辑器(2)
- 是时候来了解android7了:通知直接回复
- Install pg9.6.1 on Redhat 7.2
- Angular 2 For JavaScript ES5 英雄编辑器教程-主从结构(3)
- python语言-目录操作
- 循序渐进学习 Python 正则表达式(1)
- 终止键盘输入