程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

[Python Data Science Quick Start Series | 02] More than ten ways to create ndarray objects

編輯:Python

這是機器未來的第39篇文章

原文首發地址:https://blog.csdn.net/RobotFutures/article/details/126092621

1. np.array方法創建

將列表或元組轉換為ndarray數組

  • 創建一維數組
import numpy as np
arr = np.array([1,2,3,4,5]) # 創建一維數組
arr
array([1, 2, 3, 4, 5])
  • 創建二維數組,and specify the data type
arr2 = np.array([[1,2,3,4],[5,6,7,8]], dtype=float) # 創建二維數組
arr2
array([[1., 2., 3., 4.],
[5., 6., 7., 8.]])
  • Create high-dimensional arrays
arr3 = np.array([[[1]]]) # 創建三維數組
arr3
array([[[1]]])
print(f"arr_ndim:{
arr.ndim}, arr2_ndim:{
arr2.ndim}, arr3_ndim:{
arr3.ndim}")
print(f"arr_shape:{
arr.shape}, arr2_shape:{
arr2.shape}, arr3_shape:{
arr3.shape}")
arr_ndim:1, arr2_ndim:2, arr3_ndim:3
arr_shape:(5,), arr2_shape:(2, 4), arr3_shape:(1, 1, 1)

2 Created according to the rulesndarray對象的方法

2.1 等差數列linespace

linespace函數常用來生成matplotdisplayed by the iconX軸.

x1 = np.linspace(start=1,stop=10,num=10)
start:起始值,stop:結束值(包含),num:元素個數

x1 = np.linspace(start=1,stop=10,num=10)
x1
array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])

2.2 生成等差數列

x2 = np.arange(start=1,stop=100,step=3)
可以指定步長step

x2 = np.arange(start=1,stop=100,step=3)
x2
array([ 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49,
52, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97])

2.3 生成值全為1的數組

x = np.ones(shape=(3,3))
x
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])

2.4 生成值全為0的數組

np.zeros(shape=(3,3))
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])

2.5 按照x2的形狀,生成值全為1的數組


x2 = np.arange(start=1,stop=100,step=3)
print(x2)
x2_1 = np.ones_like(x2)
print(x2_1)
[ 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70
73 76 79 82 85 88 91 94 97]
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]

2.6 按照x2生成值全為0的數組


np.zeros_like(x2)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

2.7 對角矩陣

生成指定ndarrayA diagonal matrix of objects

x2 = np.linspace(start=1, stop=64,num=64)
x2 = x2.reshape(8, 8)
print(x2)
np.diag(x2)
[[ 1. 2. 3. 4. 5. 6. 7. 8.]
[ 9. 10. 11. 12. 13. 14. 15. 16.]
[17. 18. 19. 20. 21. 22. 23. 24.]
[25. 26. 27. 28. 29. 30. 31. 32.]
[33. 34. 35. 36. 37. 38. 39. 40.]
[41. 42. 43. 44. 45. 46. 47. 48.]
[49. 50. 51. 52. 53. 54. 55. 56.]
[57. 58. 59. 60. 61. 62. 63. 64.]]
array([ 1., 10., 19., 28., 37., 46., 55., 64.])

可以看到diag僅提取了8*8The values ​​of the upper left and lower right diagonals of the matrix.

2.8 單位矩陣

Generates an identity matrix of the specified shape.

np.eye(8)
array([[1., 0., 0., 0., 0., 0., 0., 0.],
[0., 1., 0., 0., 0., 0., 0., 0.],
[0., 0., 1., 0., 0., 0., 0., 0.],
[0., 0., 0., 1., 0., 0., 0., 0.],
[0., 0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 1., 0.],
[0., 0., 0., 0., 0., 0., 0., 1.]])

3. 隨機數生成

待補充

寫在末尾:

  • 博客簡介:專注AIoT領域,追逐未來時代的脈搏,記錄路途中的技術成長!
  • 專欄簡介:從0到1掌握SELinux的使用.
  • 面向人群:嵌入式Linux軟件工程師
  • 專欄計劃:接下來會逐步發布跨入人工智能的系列博文,敬請期待
    • Python零基礎快速入門系列
    • 數據科學系列
    • 人工智能開發環境搭建系列
    • 機器學習系列
    • 物體檢測快速入門系列
    • 自動駕駛物體檢測系列


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved