01.用于数据科学的 Python 基础知识之numpy

索引和切片

索引和切片是在处理数组的时候用得最多最经常的知识。在后面的章节中,几乎都与该内容相关。

下面所有的关于索引和切片的案例都以如下的数组为例:

arr_bis = np.array([[1,2,3],
                   [7,15,6],
                   [4,9,5]])

在矩阵中选择某个值或者某些值

arr_bis[1][2]

选择数组 arr_bis 中第 1 行 第 2 列 的数字(在python中所有的索引都是从0开始计算的)

输出值为:6

也可以通过子矩阵的方式获得同样的结果:

arr_bis[1,2]

输出值为:6

arr_bis[0:,0:1]

指获取该矩阵中每一行中的第0列,(0:1指从第0列到第1列,但是基于左含右不含的原则,则0:1只表示第0列)

输出值为:array([[1], [7], [4]])

arr_bis[:,0:1]

指获取该矩阵中每一行的第0列,和上面的表达式一样,(0:)表示从0开始的所有列,这里的0也可以省略。

输出值为:array([[1], [7], [4]])

arr_bis[0:2,0:1]

指获取该矩阵中第0行、第1行中的第0列。

输出值为:array([[1], [7]])

选择矩阵中的某一行或者某一列

arr_bis[1,:]

指获取该矩阵中第1行的所有列。

输出值为:array([ 7, 15, 6])

arr_bis[:,1]

指获取该矩阵中的第1列的所有行。

输出值为:array([ 2, 15, 9])

选择矩阵中的最大值

arr_bis.max()

指获取该矩阵中所有行和所有列中的最大数值。

输出值为:15

arr_bis.max(axis=1)

指获取该矩阵y轴方向(也就是每一行中的)的所有最大值。

输出值为:array([ 3, 15, 9])

arr_bis.max(axis=0)

指获取该矩阵x轴方向(也就是每一列中的)的最大值。

输出值为:array([ 7, 15, 6])

选择矩阵中的最小值

arr_bis.min()

指获取该矩阵中所有行和所有列中的最小值

输出结果为:1

arr_bis.min(axis=1)

指获取该矩阵y轴方向(也就是每一行中)的最小值

输出结果为:array([1, 6, 4])

arr_bis.min(axis=0)

指获取该矩阵x轴方向(也就是每一列中)的最小值

输出结果为:array([1, 2, 3])

计算矩阵中的平均值

arr_bis.mean()

指计算该矩阵中所有行和所有列中的所有数字的平均值

输出结果为:5.777777777777778

arr_bis.mean(axis=1)

指计算该矩阵y轴方向(也就是每一行)的平均值

输出结果为:array([2. , 9.33333333, 6. ])

arr_bis.mean(axis=0)

指计算该矩阵x轴方向(也就是每一列)的平均值

输出结果为:array([4. , 8.66666667, 4.66666667])

计算矩阵中的标准差

标准差的计算方法为:[(数1 – 平均值)**2 +(数2 – 平均值)**2 + .. +(数n – 平均值)**2]/n 求的的值 再 开根号得到的值。

一般来说标准差越小,各个数字之间的差值越小,说明数据分布比较集中。在金融上则表现为数据较稳定,风险比较小。相反,标准差越大,说明数据的分别越分散。在金融上则表现为数据不稳定,风险比较大。

arr_bis.std()

或者用如下的公式:

np.std(arr_bis)

指计算该矩阵所有行和所有列中的所有数字的标准差

输出结果为:4.02154690463419

arr_bis.std(axis=1)

或者用如下的公式:

np.std(arr_bis, axis=1)

指计算该矩阵y轴方向(也就是每一行)的所有数字的标准差

输出结果为:array([0.81649658, 4.02768199, 2.1602469 ])

arr_bis.std(axis=0)

或者用如下的公式:

np.std(arr_bis, axis=0)

指计算该矩阵x轴方向(也就是每一列)的所有数字的标准差

输出结果为:array([2.44948974, 5.31245915, 1.24721913])

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/01-yongyushujukexuede-python-jichuzhishi/.html

(0)
打赏 微信扫一扫 微信扫一扫
朋远方的头像朋远方
上一篇 2022年10月23日 下午2:04
下一篇 2022年11月11日 下午12:02

相关推荐

发表回复

登录后才能评论