Numpy 基础( 一)
Numpy 是强大的科学计算python开源扩展包。这里主要复习一下numpy的基础,尤其是数组操作。
一.基础数据类型
基础的数据类型有5类。分别是: bool,int,uint, float, complex
除了bool之外,其他类型均有不同的位数。比如int 有int8 int16 int 32 int64 详见:http://docs.scipy.org/doc/numpy/user/basics.types.html 当中int_相当于c语言当中的long (分int32,int64取决于平台) ,intc 相当于c的int。
对基本数据的操作:创建数据;查看类型;数据类型转换;
例如:
二.构造数据类型
我们可以使用dtype来构造数据。例如:
三.数组创建与操作
1.从列表或者元组创建array,list和tuple可混合使用
2.利用numpy自带的功能
3.保存,装载数据
这一次先回顾这些内容。更多的放在下一次吧!
实验代码: http://download.csdn.net/detail/lihaoweicsdn/9201809
一.基础数据类型
基础的数据类型有5类。分别是: bool,int,uint, float, complex
除了bool之外,其他类型均有不同的位数。比如int 有int8 int16 int 32 int64 详见:http://docs.scipy.org/doc/numpy/user/basics.types.html 当中int_相当于c语言当中的long (分int32,int64取决于平台) ,intc 相当于c的int。
对基本数据的操作:创建数据;查看类型;数据类型转换;
例如:
import numpy as np
x = np.int8(10) #创建8位的整型数据x
y = np.float16(x) #转换为float16
print x.dtype,y.dtype #查看类型
二.构造数据类型
我们可以使用dtype来构造数据。例如:
#构造一个数据类型,它包含两个字符串,两个float数据
dt = np.dtype([('name', np.str_, 16),('sex', np.str_, 10), ('grades', np.float64, (2,))])
#使用构造出的数据
a = np.array([('Bob','male',(20,175))],dtype = dt)
详见:
http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html#arrays-dtypes
三.数组创建与操作
1.从列表或者元组创建array,list和tuple可混合使用
arr0 = np.array([[1,2],[2.0,3],(4,5)]) #利用list/tuple创建数组
arr1 = np.array([[1,2],[3,4]],dtype = np.int8) #指定数据类型
print arr0.dtype,arr1.dtype#查看数据类型
arr2 = np.float16(arr0) #数据类型转换
##查看数组的一些属性
print 'The array have '+str(arr0.size)+'items'
print 'The size of each item is '+ str(arr0.itemsize)+' bytes'
print 'shape:',arr0.shape
##访问数组元素
print arr0[0][0],arr0[1][1]
2.利用numpy自带的功能
arr = np.zeros((3,3))#全零数组
arr = np.ones((3,4),dtype = np.int8) #全一数组,指定数据类型
arr = np.arange(0,2,0.5) #从0开始差值为0.5的数列不包括2
arr = np.linspace(0,2,4) #在0到2之间等间隔分割4个数构成列表
3.保存,装载数据
###保存装载数据
##使用pickle模块
##pickle模块可用来保存python对象,当然也包括array
##工作过程分封装和解封,封装把对象变为字符串存储,解封是反过程
import pickle as pk
arr0 = np.array([[1,2,3],[4,5,6]])
arr1 = np.array([[10,20,30]])
#打开一个pkl文件,保存上述数据
f = open('arr.pkl','wb')
pk.dump(arr0,f)
pk.dump(arr1,f)
f.close()
#载入数组
f = open('arr.pkl','rb')
arr2 = pk.load(f)
arr3 = pk.load(f)
##使用numpy的简单函数
np.savetxt('arr.txt',arr0,'%i')
x = np.loadtxt('arr.txt')
这一次先回顾这些内容。更多的放在下一次吧!
实验代码: http://download.csdn.net/detail/lihaoweicsdn/9201809