numpy基础

Posted 未来可期-2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy基础相关的知识,希望对你有一定的参考价值。

文章目录

import numpy as np

1. 创建array

# 创建array,dtype格式
array = np.array(
    [[1, 2, 3],
     [2, 3, 4]], dtype=np.float)
# shape
print(array.shape)
# 维数
print(array.ndim)
# 总数量
print(array.size)
(2, 3)
2
6
a = np.zeros(shape=(3, 4), dtype=np.int)
a = np.ones(shape=(3, 4), dtype=np.float)
a = np.empty(shape=(3, 4), dtype=np.float)
a = np.arange(12).reshape((3, 4))
a = np.linspace(1, 10, 20).reshape((10, 2))

2. 基础运算

a = np.array([10, 20, 30, 40])
b = np.arange(1, 5)
# 逐个相加减乘除
c = a-b
d = a+b
e = a*b
f = a/b
g = np.sin(a)
h = b < 3
a = np.array([[1, 1], [0, 1]])
b = np.arange(4).reshape((2, 2))
# 将b展平
b.flatten()
print("a=", a)
print("b=", b)
# 逐个相乘
print("a*b=", a*b)
# 矩阵相乘
print("a.dot(b)=", np.dot(a, b))
a = np.random.random(size=(2, 4))
print(a)
print(np.sum(a))
# shape=(2,4) axis=1,按行计算;axis=0,按列计算
print(np.sum(a, axis=1))
print(np.sum(a, axis=0))
A = np.arange(2, 14).reshape((3, 4))
print(np.mean(A))
print(np.median(A))
# 最大最小值的索引
print(np.argmin(A))
print(np.argmax(A))
# 累加
print(np.cumsum(A))
# 累乘
print(np.cumprod(A))
# 累差
print(np.diff(A))
# 非零
print(np.nonzero(A))
# 逐行排序
print(np.sort(A))
# 转置,不改变自身
print(A.T)
# 行过滤,使矩阵值处在5~9之间
np.clip(A, 5, 9)
4.563955476029803
[1.61726126 2.94669422]
[0.75731657 1.11981756 1.38881768 1.29800366]

3. 索引

A = np.arange(3, 15).reshape((3, 4))
# 两种表达方式相同
print(A[1, 1])
print(A[1][1])
# 切片,第一行全部内容
print(A[1, :])
# 迭代每一行
for row in A:
    print(row)
# 迭代每一列
for column in A.T:
    print(column)
# 将矩阵展平并迭代
for item in A.flat:
    print(item)
8
8
[ 7  8  9 10]

4. array合并

A=np.array([1,1,1])
B = np.array([2,2,2])
# vertical stack 按行合并
C=np.vstack((A,B))
# horizonal stack 按列合并
D=np.hstack((A,B))
# axis=1 按行合并,axis=0按列合并
E=np.concatenate((A.reshape((3,1)),B.reshape((3,1))),axis=1)

5. array分割

A=np.arange(12).reshape((3,4))
# 均等分割
np.split(A,2,axis=1)
np.split(A,3,axis=0)
# 不均等分割
np.array_split(A,2,axis=0)
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

6. copy和deepcopy

a=np.arange(4)
# 浅拷贝
b=a
b[0]=11
print(a,b,a is b)
# 深拷贝
b=np.copy(a)

以上是关于numpy基础的主要内容,如果未能解决你的问题,请参考以下文章

数据科学包——numpy

Numpy总结第七节:Numpy常用的函数(汇总所有函数,收藏这一篇就OK啦~)

Numpy | 16 算术函数

广播关于numpy向量的说明

广播关于numpy向量的说明

java加减乘除计算器界面编程?