库学习04——numpy

发布于:2025-04-14 ⋅ 阅读:(15) ⋅ 点赞:(0)

一、基本属性

二、 创建数组

(一)arange

a = np.arange(10,20,2)
# [10,12,14,16,18]

只有一个参数n的话,默认是从0到n-1的一维数组。 

(二)自定义reshape

a = np.arange(12).reshape((3,4))
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

 (三)linspace

a = np.linspace(1,10,5) # 从1开始到10结束,5段,类似于生成等差数列
# [ 1.    3.25  5.5   7.75 10.  ]

三、基础运算

(一)三角函数

a = np.array([10,20,30,40])
c=np.sin(a)
print(a,c)
# [10 20 30 40] [-0.54402111  0.91294525 -0.98803162  0.74511316]

(二)判断大小

a = np.array([10, 20, 30, 40])
print(a < 21)
# [ True  True False False]

(三)乘法

import numpy as np

a = np.array([[1, 1],
              [0, 1]])
b = np.arange(4).reshape((2, 2))
c = a * b
c_dot = np.dot(a, b)
print(c)  # 逐个相乘
print(c_dot)  # 矩阵乘法
[[0 1]
 [0 3]]
[[2 4]
 [2 3]]

(四)求特殊值

a = np.array([[0, 1, 2, 3], [3, 2, 9, 1]])
print(np.sum(a))
print(np.sum(a, axis=0))  # 每一列求和
print(np.sum(a, axis=1))  # 每一行求和
21
[ 3  3 11  4]
[ 6 15]

min和max同理。 

(五)特殊索引 

a = np.arange(2, 14).reshape((3, 4))
print(a)
print(np.argmin(a))  # 最小值索引
print(np.argmax(a))  # 最大值索引
[[ 2  3  4  5]
 [ 6  7  8  9]
 [10 11 12 13]]
0
11

(六)特殊值

a = np.arange(2, 14).reshape((3, 4))
print(a)
print(np.mean(a))  # 平均值
print(a.mean())  # 平均值
print(np.median(a))  # 中位数
print(np.cumsum(a))  # 累加过程  [ 2  5  9 14 20 27 35 44 54 65 77 90]

(七)非0值 

a = np.arange(2, 14).reshape((3, 4))
print(np.nonzero(a))
# (array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]))

输出的是所有非0值的索引。

(八)逐行排序

a = np.arange(14, 2, -1).reshape((3, 4))  # 注意步长是-1
print(a)
print(np.sort(a)) # 逐行排序
[[14 13 12 11]
 [10  9  8  7]
 [ 6  5  4  3]]
[[11 12 13 14]
 [ 7  8  9 10]
 [ 3  4  5  6]]

 (九)flat和flatten

四、合并与分割

只能进行等项分割: 

若进行不等分割

五、其他

 (一)加载文件loadtxt

data = np.loadtxt('ex1data1.txt', delimiter=',')
# 文件名:ex1data1.txt,分隔符:,
  • 作用:用于从文本文件加载数据
  • 返回值:二维numpy数组
  • 默认情况下,它会自动推断数据类型

 

 


网站公告

今日签到

点亮在社区的每一天
去签到