Python数据分析numpy入门(一)

一、numpy简介

  • Numpy是一个用python实现的科学计算的扩展程序库,包括:

    1、一个强大的N维数组对象Array;
    2、比较成熟的(广播)函数库;
    3、用于整合C/C++和Fortran代码的工具包;
    4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。

  • NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。

二、numpy基本操作

2.1 列表转为矩阵

import numpy as np
array = np.array([
    [1, 3, 5],
    [4, 6, 9]
])
print(array)

输出结果如下:

[[1 3 5]
 [4 6 9]]

2.2 维度

print('number of dim:', array.ndim)

输出结果如下:

number of dim: 2

2.3 行数和列数

print('shape:', array.shape)

输出结果如下:

shape: (2, 3)

2.4元素个数

print('size:', array.size)

输出结果如下:

size: 6

三、numpy创建array

3.1 一维array创建

import numpy as np
a = np.array([2, 23, 4], dtype=np.int32) # np.int默认为int32
print(a)
print(a.dtype)

执行结果如下:

[ 2 23  4]
int32

3.2 多维array创建

import numpy as np
a = np.array([[2, 3, 4],
               [3, 4, 5]])
print(a)

执行结果如下:

[[2 3 4]
 [3 4 5]]

3.3 创建全零数组

import numpy as np
a = np.zeros((3, 4)) # 生成34列的全零矩阵
print(a)

执行结果如下:

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

3.4 创建全1数组

import numpy as np
# 创建全一数据,同时指定数据类型
a = np.ones((3, 4), dtype=np.int)
print(a)

执行结果如下:

[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]

3.5 创建全空数组

import numpy as np
# 创建全空数组,其实每个值都是接近于零的数
a = np.empty((3, 4))
print(a)

执行结果如下:

[[6.23042070e-307 8.90092016e-307 1.29060871e-306 1.33511290e-306]
 [1.11261027e-306 1.11261502e-306 1.42410839e-306 7.56597770e-307]
 [6.23059726e-307 1.42419530e-306 7.56602523e-307 1.29061821e-306]]

3.6 创建全连续数组

import numpy as np
# 创建连续数组
a = np.arange(10, 21, 2) # 10-21的数据,步长为2
print(a)

输出结果如下:

[10 12 14 16 18 20]

3.7 reshape操作

import numpy as np
# 创建连续数组
a = np.arange(10, 21, 2) # 10-21的数据,步长为2
b = a.reshape((2, 3))# 使用reshape改变上述数据的形状
print(b)

输出结果如下:

[[10 12 14]
 [16 18 20]]

3.8 创建连续型数据

(1)创建线段型数据

import numpy as np
# 创建线段型数据
a = np.linspace(1, 10, 20)  # 开始端1,结束端10,且分割成20个数据,生成线段
print(a)

输出结果如下:

[ 1.          1.47368421  1.94736842  2.42105263  2.89473684  3.36842105
  3.84210526  4.31578947  4.78947368  5.26315789  5.73684211  6.21052632
  6.68421053  7.15789474  7.63157895  8.10526316  8.57894737  9.05263158
  9.52631579 10.        ]

3.9 linspace的reshape操作

import numpy as np
# 创建线段型数据
a = np.linspace(1, 10, 20)  # 开始端1,结束端10,且分割成20个数据,生成线段
b = a.reshape((5, 4))
print(b)

输出结果如下:

[[ 1.          1.47368421  1.94736842  2.42105263]
 [ 2.89473684  3.36842105  3.84210526  4.31578947]
 [ 4.78947368  5.26315789  5.73684211  6.21052632]
 [ 6.68421053  7.15789474  7.63157895  8.10526316]
 [ 8.57894737  9.05263158  9.52631579 10.        ]]

Process finished with exit code 0

四、numpy基本运算

4.1 一维矩阵运算

import numpy as np
# 一维矩阵运算
a = np.array([10, 20, 30, 40])
b = np.arange(4)
print(a, b)

输出结果如下:

[10 20 30 40] [0 1 2 3]

Process finished with exit code 0

(1)减法:

c = a - b
print(c)

运行结果:

[10 19 28 37]

(2)乘法:

print(a*b)

运行结果:

[  0  20  60 120]

(3)乘方:

c = b**2
print(c)

运行结果:

[0 1 4 9]

(4)数学函数工具:

c = np.sin(a)
print(c)

运行结果:

[-0.54402111  0.91294525 -0.98803162  0.74511316]

(5)判断全体数组数值大小比较:

print(b < 2)

运行结果:

[ True  True False False]

(6)判断两个数组数值大小是否相等:

import numpy as np
a = np.array([1, 1, 4, 3])
b = np.arange(4)
print(a==b)

运行结果:

[False  True False  True]

Process finished with exit code 0

4.2 多维矩阵运算

import numpy as np
a = np.array([[1, 1], [0, 1]])
b = np.arange(4).reshape((2, 2))
print(a)
print(b)

运行结果:

[[1 1]
 [0 1]]
[[0 1]
 [2 3]]

(1)乘法运算一:

c = a.
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值