Numpy 基础

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。
      对基本数据的操作:创建数据;查看类型;数据类型转换;
      例如:

         
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
   


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值