numpy常用方法总结

这里写自定义目录标题

  • 前言
  • 具体函数:
    • np.zeros()
    • np.sum()
    • np.reshape()
    • np中的转置函数

前言

机器学习中会经常使用numpy下的函数,需要明确方法的功能及使用的注意事项,多练习,才能熟能生巧;

具体函数:

np.zeros()

np.zeros()是numpy库中的一个函数,用于创建指定形状的全零数组。函数语法如下:

numpy.zeros(shape, dtype=float, order='C')

其中,参数shape表示要创建的数组的形状,可以是一个整数或者一个元组;参数dtype表示数组的数据类型,默认为float;参数order表示数组在内存中的存储顺序,可以是’C’(按行存储)或’F’(按列存储),默认为’C’。

例如,要创建一个2行3列的全零数组,可以使用以下代码:

import numpy as np

arr = np.zeros((2, 3))
print(arr)

输出结果为:

[[0. 0. 0.]
 [0. 0. 0.]]

补充:np.ones()和 np.empty()
np.ones()是numpy库中的一个函数,用于创建指定形状的全1数组。np.empty()是numpy库中的一个函数,用于创建指定形状的未初始化的数组,即数组元素的值是随机的。

import numpy as np

arr1 = np.ones((2, 3))
print(arr1)
arr2 = np.empty((2, 3))
print(arr2)

输出结果为:

[[1. 1. 1.]
 [1. 1. 1.]]

 [[1. 2. 3.]
 [4. 5. 6.]]

np.sum()

np.sum()是numpy库中的一个函数,用于计算数组中元素的总和。函数语法如下:

numpy.sum(a, axis=None, dtype=None, keepdims=False)

其中,参数a表示要计算总和的数组;参数axis表示计算总和的轴向,可以是一个整数、一个元组或者None,默认为None,表示计算所有元素的总和;参数dtype表示输出结果的数据类型;参数keepdims表示是否保留每个轴的维度,保留则为True,不保留则为False,默认为False。如果使用np.sum()函数计算每一列的总和,可以将axis参数设置为0,如果计算每一行的总和,可以将axis参数设置为1,需要注意keepdims为true和false的区别。

例如,要计算一个2行3列的数组的总和,可以使用以下代码:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
sum1 = np.sum(arr)
print(sum1)
sum2 = np.sum(arr,0)
print(sum2)
sum3 = np.sum(arr,1)
print(sum3)
row_sum = np.sum(arr, axis=1, keepdims=True)
print(row_sum)

输出结果为:

21
[5 7 9]
[ 6 15]
[[ 6]  
 [15]]

np.reshape()

np.reshape()是numpy库中的一个函数,用于改变数组的形状,即将一个数组调整为指定的形状。函数语法如下:

numpy.reshape(a, newshape, order='C')

其中,参数a表示要改变形状的数组;参数newshape表示新的形状,可以是一个整数或者一个元组;参数order表示在内存中的存储顺序,可以是’C’(按行存储)或’F’(按列存储),默认为’C’。

例如,假设有一个一维数组arr,可以使用以下代码将其转换为3行2列的二维数组:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
arr1 = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = np.reshape(arr, (3, 2))
new_arr1 = np.reshape(arr, (-1, 1))
new_arr2 = np.reshape(arr, (2, 3))
print(new_arr)
print(new_arr1)
print(new_arr2)

输出结果为:

[[1 2]
 [3 4]
 [5 6]]
[[1]
 [2]
 [3]
 [4]
 [5]
 [6]]
[[1 2 3]
 [4 5 6]]

np中的转置函数

在numpy中,可以使用以下两种方式对数组进行转置:

np.transpose()函数:该函数用于对数组进行转置,返回转置后的新数组。函数语法如下:

numpy.transpose(a, axes=None)

其中,参数a表示要进行转置的数组;参数axes用于指定转置后数组的轴的顺序,默认为None,表示将所有轴反转。

例如,对于一个2行3列的数组arr,可以使用以下代码进行转置:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
transpose_arr = np.transpose(arr)
print(transpose_arr)

输出结果为:

[[1 4]
 [2 5]
 [3 6]]

.T属性:该属性用于对数组进行转置,返回转置后的新数组。可以看作是np.transpose()函数的简写形式。例如,对于一个2行3列的数组arr,可以使用以下代码进行转置:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
transpose_arr = arr.T
print(transpose_arr)
输出结果为:

[[1 4]
[2 5]
[3 6]]
需要注意的是,这两种方式都返回一个新的数组,原始数组并没有被改变。如果需要在原始数组上进行操作,可以使用arr.T或np.transpose(arr)进行赋值操作。

你可能感兴趣的:(推荐系统与机器学习,python)