python---Numpy模块中创建数组的常用方式代码示例

要机器学习,这方面内容不可少。

import numpy as np
import time

# 对比标准python实现和numpy实现的性能差异
def sum_trad():
    start = time.time()
    X = range(1000000)
    Y = range(1000000)
    Z = []
    for i in range(len(X)):
        Z.append(X[i] + Y[i])
    return time.time() - start


def sum_numpy():
    start = time.time()
    X = np.arange(1000000)
    Y = np.arange(1000000)
    Z = X + Y
    return time.time() - start


# print('time trade sum: ', sum_trad(), ' .time numpy sum: ', sum_numpy())

print('=========数组的创建和列表的转换===========')
arr = np.array([2, 6, 5, 9], float)
print(arr)
print(type(arr))
print(arr.tolist())
print(list(arr))

print('=========数组的复制===========')
arr1 = arr
arr2 = arr.copy()
arr[0] = 0
print(arr1)
print(arr2)

print('=========数组的同值填充===========')
arr.fill(1)
print(arr)
print('=========随机选择元素来创建数组===========')
print(np.random.permutation(3))
print(np.random.normal(0, 1, 5))
print(np.random.random(5))
print('=========单位矩阵的创建===========')
print(np.identity(5, dtype=float))
print('=========创建数组,k条对角线上元素为1===========')
print(np.eye(3, k=1, dtype=float))
print('=========创建数组,用1或0填充===========')
print(np.ones((2,3), dtype=float))
print(np.zeros(6, dtype=int))
print('=========数组的创建,类型和维度和现有数组相同===========')
arr = np.array([[13, 32, 31], [64, 25, 76]], float)
print(np.zeros_like(arr))
print(np.ones_like(arr))
print('=========数组的创建, 合并一维数组===========')
arr1 = np.array([1, 3, 2])
arr2 = np.array([3, 4, 6])
print(np.vstack([arr1, arr2]))
print('=========随机从0到1之间均匀分布中选取元素创建数组===========')
print(np.random.rand(2, 3))
print('=========多元正态分布创建数组===========')
print(np.random.multivariate_normal([10, 0], [[3, 1], [1, 4]], size=[5,]))
PS C:\Users\aeonh> & C:/Python37/python.exe c:/test/ml.py
=========数组的创建和列表的转换===========
[2. 6. 5. 9.]
<class 'numpy.ndarray'>
[2.0, 6.0, 5.0, 9.0]
[2.0, 6.0, 5.0, 9.0]
=========数组的复制===========
[0. 6. 5. 9.]
[2. 6. 5. 9.]
=========数组的同值填充===========
[1. 1. 1. 1.]
=========随机选择元素来创建数组===========
[2 1 0]
[-1.15120655  0.35107448 -0.47478187  0.67095854  0.68825847]
[0.04596957 0.40655295 0.19235859 0.48460268 0.88771739]
=========单位矩阵的创建===========
[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]
=========创建数组,k条对角线上元素为1===========
[[0. 1. 0.]
 [0. 0. 1.]
 [0. 0. 0.]]
=========创建数组,用1或0填充===========
[[1. 1. 1.]
 [1. 1. 1.]]
[0 0 0 0 0 0]
=========数组的创建,类型和维度和现有数组相同===========
[[0. 0. 0.]
 [0. 0. 0.]]
[[1. 1. 1.]
 [1. 1. 1.]]
=========数组的创建, 合并一维数组===========
[[1 3 2]
 [3 4 6]]
=========随机从0到1之间均匀分布中选取元素创建数组===========
[[0.38304875 0.4372066  0.91975504]
 [0.6885767  0.23416509 0.56332644]]
=========多元正态分布创建数组===========
[[10.96439198  1.05927544]
 [12.75575406 -2.3237166 ]
 [13.5318655   1.29196728]
 [12.20432062  0.40086517]
 [ 9.23879038  0.24105831]]

猜你喜欢

转载自www.cnblogs.com/aguncn/p/10795262.html