NumPy数组创建和操作

NumPy 数组创建和操作

数组和创建和操作

array函数创建数组

最简单也是最直观的方式,就是使用array函数直接创建numpy数组。

import numpy as _np
_nparray = _np.array([1, 2, 3, 4])
print(_nparray)   # [1 2 3 4]
_nparray = _np.array(list('abcdefg'))
print(_nparray)    # ['a' 'b' 'c' 'd' 'e' 'f' 'g']
_nparray = _np.array([[11, 22, 33, 44], [10, 20, 30, 40]])
print(_nparray)

asarray函数创建数组

asarray将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制,而只是创建一个数组视图(内存和值一致)。

当数据源是ndarray时,array与asarray的区别:array会创建一个新的数组,占用新的内存,但asarray不会新建数组,只是创建一个数组视图。

当数据源是其它类型时,asarray与array的效果一致。

import numpy as _np
a=_np.random.random((3,3))
b=_np.array(a,dtype='float64')
c=_np.asarray(a,dtype='float64')
a[2]=2
print(a)
print(b)
print(c)

输出结果:

[[0.6063515 0.57079181 0.37905249]
[0.93433921 0.31937387 0.19274729]
[2. 2. 2. ]]
[[0.6063515 0.57079181 0.37905249]
[0.93433921 0.31937387 0.19274729]
[0.89158493 0.5626946 0.33283693]]

[[0.6063515 0.57079181 0.37905249]
[0.93433921 0.31937387 0.19274729]
[2. 2. 2. ]]

zeros和zeros_like创建数组

  • zeros:表示直接创建全零数组
  • zeros_like:根据传入的ndarray数组的shape来创建所有元素为0的数组
import numpy as _np
ndarray = _np.zeros(10)
print(ndarray)
# [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
ndarray = _np.zeros((2, 2))
print(ndarray)
'''
[[0. 0.]
 [0. 0.]]
'''
ndarray = _np.array([[11, 22, 33, 44], [10, 20, 30, 40]])
ndarray1 = _np.zeros_like(ndarray)
print(ndarray1)
'''
[[0 0 0 0]
 [0 0 0 0]]
'''

ones和ones_like创建数组

用于创建所有元素都为1的数组。ones_like用法同zeros_like用法

import numpy as _np
ndarray = _np.ones(10)
print(ndarray) 
# [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
ndarray = _np.ones((2, 2))
print(ndarray)
'''
[[1. 1.]
 [1. 1.]]
'''
ndarray = _np.array([[11, 22, 33, 44], [10, 20, 30, 40]])
ndarray1 = _np.ones_like(ndarray)
print(ndarray1)
'''
[[1 1 1 1]
    [1 1 1 1]]
'''

empty和empty_like创建数组

用于创建空数组,空数据中的值并不为0,而是未初始化的随机值.

import numpy as _np
ndarray = _np.empty(3)
print(ndarray) 
ndarray = _np.empty((2, 2))
print(ndarray)
ndarray = _np.array([[11, 22, 33, 44], [10, 20, 30, 40]])
ndarray1 = _np.empty_like(ndarray)
print(ndarray1)

arange创建数组

arange函数是python内置函数range函数的数组版本。

import numpy as _np
ndarray = _np.arange(10)
print(ndarray) 
# [0 1 2 3 4 5 6 7 8 9]
ndarray = _np.arange(10,20)
print(ndarray) 
# [10 11 12 13 14 15 16 17 18 19]
ndarray = _np.arange(10,20,2)
print(ndarray)
# [10 12 14 16 18]

linspace创建数组

numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

参数说明
start序列的起始值
stop序列的终止值,如果endpoint为true,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 true 时,数列中包含stop值,反之不包含,默认是True。
retstep如果为 True 时,生成的数组中会显示间距,反之不显示。
dtypendarray 的数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值