NumPy 数据存储

引入NumPy
# -*- coding: utf-8 -*-
import numpy as np;

 

创建数组

#指定数据类型
c = np.array( [[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]], dtype=np.float );

#arange 创建一维数组,注意:不包括终值
array_1 = np.arange( 0, 1, 0.1 );

# (等差数列) 默认包括终值,endpoint = False 不包括终值
array_2 = np.linspace( 0, 1, 10 );

# (等比数列)
array_3 = np.logspace( 0, 2, 20 );


#使用方法生成
def func_1(i):
    return i % 4 + 1;

# 第一个是 方法名, 数组长度
np.fromfunction( func_1, ( 9,9 ) ); # 九九乘法表

 

多维数组生成
#多维数组生成

# reshape( 列, 行 )[正负代表方向]
array_d = np.arange(0, 60, 10).reshape(-1, 1) + np.arange(0, 6);

array_d[ 2::2, 2::2 ]   # array_d[ 列, 行 ]的取值范围
array_d[(0,1,2,3,4),(1,2,3,4,5)]

#结构数组
persontype = np.dtype({ 'names':['name', 'age', 'weight'], 'formats':['S32','i', 'f']})
a = np.array([("Zhang", 32, 75.5), ("Wang", 24, 65.2)], dtype=persontype);
# 结果 a.dtype => dtype([('name', '|S32'), ('age', '<i4'), ('weight', '<f4')])


# 注意元素的值看上去像是组元,实际上它是一个结构
a[0]        # ('Zhang', 32, 75.5)
a[0].dtype  # dtype([('name', '|S32'), ('age', '<i4'), ('weight', '<f4')])

# a[0]是一个结构元素,它和数组a共享内存数据
c = a[1]
c["name"] = "Li"
a[1]["name"] # "Li"


#二维数组变一维数组
a.ravel()

 

获取 / 改变数组属性
# 数组的元素类型可以通过dtype 属性获得
print( c.dtype );

# 数组的大小
print( c.shape );

# 保持元素个数不变情况下,重新计算生成数组
c.shape = 4,3

# 基于a重新创建数组,且共享内存 2维
d = a.reshape((2,2));

 

 

转载于:https://my.oschina.net/u/3359005/blog/1812496

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值