Numpy-创建数组
来源:互联网 发布:exe反编译成源码 编辑:程序博客网 时间:2024/06/08 04:14
2017/7/1
******************************************************
#coding=utf-8
import numpy as np
#创建数组
a = np.array([1,2,3,4])
b = np.array([5,6,7,8])
c = np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]])
#print a
#print b
#print c
#print a.shape
#print c.shape
#使用shape指定第一个维数,第二个维数设置为-1,则矩阵会随着本来矩阵发生改变
c.shape = 2,-1
#print c
#直接指定维数,可是使用reshape
d = a.reshape((2,2))
#print d
#数组d和a共享数据存储空间,因此任意改变一个数组的元素,另一个也会发生改变
a[1] = 100
#print d
#数组的元素类型可以通过dtype属性获得
#print c.dtype
#还可以通过dtype参数在创建数组时指定元素的类型
#注意:float是64bit的双精度浮点类型,complex是128bit的双精度复数类型
#print np.array([1,2,3,4],dtype=np.float)
#print np.array([1,2,3,4],dtype=np.complex)
#[ 1.+0.j 2.+0.j 3.+0.j 4.+0.j]
#Numpy中的数据类型都有几种字符串表示形式,字符串和类型之间的对应关系都存在在typeDict字典中,d,double,float64都表示双精度浮点类型
#typeDict
#print np.typeDict['d']
#print np.typeDict['double']
#print np.typeDict['float64']
#<type 'numpy.float64'>
#<type 'numpy.float64'>
#<type 'numpy.float64'>
#完整的类型列表可以通过下面的语句得到
#print set(np.typeDict.values())
#set([<type 'numpy.timedelta64'>, <type 'numpy.float16'>, <type 'numpy.uint8'>, <type 'numpy.int8'>, <type 'numpy.object_'>, <type 'numpy.datetime64'>, <type 'numpy.uint64'>, <type 'numpy.int64'>, <type 'numpy.void'>, <type 'numpy.complex256'>, <type 'numpy.float128'>, <type 'numpy.uint64'>, <type 'numpy.int64'>, <type 'numpy.unicode_'>, <type 'numpy.complex128'>, <type 'numpy.float64'>, <type 'numpy.uint32'>, <type 'numpy.int32'>, <type 'numpy.string_'>, <type 'numpy.complex64'>, <type 'numpy.float32'>, <type 'numpy.uint16'>, <type 'numpy.int16'>, <type 'numpy.bool_'>])
#上面的例子,都是通过python创建一个序列对象,然后通过array()将其转换成数组,效率不高
#arange()类似于内置函数range(),通过指定初始值,终值,步长创建表示等差数列的一组数组
#print np.arange(0,1,0.1)#不包含1/[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
#linspace()通过指定开始值,终值和元素的个数创建等差数列,可以通过endpoint指定是否包含最后终值,默认True
#print np.linspace(0,1,10)
#print np.linspace(0,1,10,endpoint=False)
#[ 0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556 0.66666667 0.77777778 0.88888889 1. ]
#[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
#logspace同linspace一样,不过创建的是等比数列
#下面的等比数列表示10^0,到10^2之间的等比数列,默认是以10为底,可以通过参数base设置我们想要的参数,endpoint设置是否包含最后一个元素
#print np.logspace(0,2,5)
#[ 1. 3.16227766 10. 31.6227766 100. ]
#print np.logspace(0,1,12,base=2,endpoint=False)
#[ 1. 1.05946309 1.12246205 1.18920712 1.25992105 1.33483985 1.41421356 1.49830708 1.58740105 1.68179283 1.78179744 1.88774863]
#zeros() ones() empty()可以创建指定形状和类型的数组
#empty()仅仅分配数组所使用的内存,不对元素进行初始化操作,速度最快
#print np.empty((2,3),np.int)#只分内存,不进行初始化,指定形状为2,3的整形数组
#[[140677149604808 25322960 0]
# [ 0 0 0]]
#ones()是将所有的元素初始化为0,ones()是将所有的元素初始化为1
#print np.ones(4, np.float)
#此外,zeros_like(),ones_like(),empty_like()等函数可创建与参数数组的形状和类型相同的数组
#zero_like(a),是于zeros(a.shape,a.dtype)相同效果的数组
#使用fromebuffer().fromestring(),fromfile()等函数可以从字节序列或者文件创建数组
#使用fromfunction()可以通过此函数创建数组
#def func(i):
# return i%4+1
#print np.fromfunction(func,(10,))
#对于fromefunction()函数的第一个参数是为了计算每个数组元素的函数,第二个参数指定数组的形状。
#支持多维数组,所以第二个数组必须是一个序列
def func2(i,j):
return (i+1)*(j+1)
print np.fromfunction(func2,(9,9))
- Numpy 数组创建 (三)
- numpy教程:数组创建
- numpy数组创建初步
- Numpy 创建数组
- numpy 创建数组
- Numpy-创建数组
- NumPy 创建多维数组
- numpy数组的创建
- Numpy 创建字符数组(矩阵)
- numpy入门——创建二维数组
- numpy入门——创建随机数组
- Numpy快速入门教程(一):数组创建与数组访问
- Numpy数组
- NumPy数组
- numpy数组
- numpy数组
- Numpy数组
- Numpy数组
- pwnable之unlink
- POJ 2536 D
- 常用<meta>整理
- java中一维数组的使用(初级)
- C语言 指针 详解 三 C语言数组指针(指向数组的指针)
- Numpy-创建数组
- Leetcode--189. Rotate Array
- Educational Codeforces Round 24A Diplomas and Certificates
- Log4j配置详解
- Liferay是什么?
- Logstash 使用详解
- CakePhp创建项目,composer及常用包的安装
- Java 反射机制
- Java设计模式的归纳及练习