numpy----创建数组(python)

numpy----创建数组(python)

创建数组有5种常规机制:
1.从其他Python结构(例如,列表,元组)
2.转换 numpy原生数组的创建(例如,arange、ones、zeros等)
3.从磁盘读取数组,无论是标准格式还是自定义格式
4.通过使用字符串或缓冲区从原始字节创建数组
5.使用特殊库函数(例如,random)

下文并不介绍4

1.从其他Python结构(例如,列表,元组)

将Python array_like对象转换为Numpy数组
通常,在Python中排列成array-like结构的数值数据可以通过使用array()函数转换为数组。最明显的例子是列表和元组。一些对象可能支持数组协议并允许以这种方式转换为数组。找出对象是否可以使用array()转换为一个数组numpy 数组的简单方法很简单,只要交互式试一下,看看它是否工作!(Python方式)。

>>> x = np.array([2,3,1,0])
>>> x = np.array([2, 3, 1, 0])
>>> x = np.array([[1,2.0],[0,0],(1+1j,3.)]) # note mix of tuple and lists,and types
>>> x = np.array([[ 1.+0.j, 2.+0.j], [ 0.+0.j, 0.+0.j], [ 1.+1.j, 3.+0.j]])
np.array(seq)
seq:可以是一切序列型对象。如seq是一组等长列表组成的嵌套列表,则会形成一个多维数组。此外,seq中所有元素必须是相同的数据类型。
In: data1 = [6, 7.5, 8, 0, 1]
    arr1 = np.array(data1)
    arr1
Out: array([ 6. ,  7.5,  8. ,  0. ,  1. ])
In: data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
    arr2 = np.array(data2)
    arr2
Out: array([[1, 2, 3, 4], 
            [5, 6, 7, 8]])

2.转换 numpy原生数组的创建(例如,arange、ones、zeros等)

(1)ones、zeros

Numpy内置了从头开始创建数组的函数

zeros(shape)将创建一个用指定形状用0填充的数组。默认的dtype是float64。ones(shape)将创建一个用1个值填充的数组。它在所有其他方面与zeros相同。

In:  np.zeros(10)   
Out: array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])
In:  np.ones((3, 6))
Out: array([[ 1.,  1.,  1.,  1.,  1.,  1.],
            [ 1.,  1.,  1.,  1.,  1.,  1.],
            [ 1.,  1.,  1.,  1.,  1.,  1.]])

(2)使用arange—Python内置函数range的数组版

In:  np.arange(15)
Out: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])
>>> np.arange(2, 10, dtype=np.float)
array([ 2., 3., 4., 5., 6., 7., 8., 9.])
>>> np.arange(2, 3, 0.1)
array([ 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9])

3.从磁盘读取数组

如下代码保存了一个二位数组(矩阵)在变量my_matrix中,将其保存在了本地new.csv文件中,下次使用可以直接读取。

#将结果输出并保存,下次使用直接读取这个就行了
np.savetxt('new.csv', my_matrix, delimiter = ',')
my_matrix = np.loadtxt(open("new.csv","rb"),delimiter=",",skiprows=0)

5.使用特殊库函数(random,eye)

In [21]: np.random.randn(6, 3)
Out[21]: 
array([[-2.44179138, -0.13462751, -0.16921825],
       [-0.31681002,  0.18074226, -0.44818138],
       [-0.24928908, -0.26223449,  0.63402363],
       [ 1.3336142 ,  0.37030573,  0.07320383],
       [-1.06536287, -0.04833094, -1.35664694],
       [-1.79510978, -0.47022578,  0.61915442]])
In:  np.eye(4)
Out: array([[ 1.,  0.,  0.,  0.],
            [ 0.,  1.,  0.,  0.],
            [ 0.,  0.,  1.,  0.],
            [ 0.,  0.,  0.,  1.]])

附注:本文仅作为防忘笔记。
参考博客:https://zhuanlan.zhihu.com/p/30132591
https://blog.csdn.net/vernice/article/details/50683637
官方文档:
https://www.numpy.org.cn

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值