Python数据分析|Numpy学习(一)

重要的Python库

数据处理与绘图的NumPy、pandas、matplotlib库学习记录

NumPy库可以干什么?

使用NumPy,可以执行以下操作:

  • 多维数组的算数和逻辑运算。

  • 基于元素的数组计算或者数组间数学操作函数

  • 用于读写硬盘中的基于数组的数据集的工具

  • 傅立叶变换和用于图形操作的例程。

  • 与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。 NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用。 这种组合广泛用于替代 MatLab。 但是,Python 作为 MatLab 的替代方案,现在被视为一种更加现代和完整的编程语言。而且NumPy是开源的。

Ndarray对象

Ndarray是什么

Ndarray即N维数组。 Ndarray中的每个元素在内存中使用相同大小的块。 Ndarray中的每个元素是数据类型对象的对象(称为 dtype)。

如下图表示出的数据对象(dtype)与数组标量类型的关系

Ndarray怎么创建
  1. 利用numpy中的数组函数创建:
1
numpy.array
  1. 返回数组
1
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

上述的参数:

示例 例子1

1
2
3
4
#单维度
import numpy as np
a = np.array([1,2,3])
print a

输出如下

1
[1, 2, 3]
例子2
1
2
3
4
5

#多维度
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
输出如下
1
2
[[1, 2] 
[3, 4]]
例子3
1
2
3
4
#dtype 参数  
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
输出如下
1
[ 1.+0.j,  2.+0.j,  3.+0.j]
例子4
1
2
3
4
# 最小维度  
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
输出如下
1
[[1, 2, 3, 4, 5]]
一些常见命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import numpy as np 
# 1 创建全0数组
np.zeros(10)
##输出:array([0,0,0,0,0,0,0,0,0,0])
# 2 多维0数组
np.zeros((3.6))
# 3 多维空数组
np.empyt((2,3,2))
# 4 重塑
np.shape(2,4)
# 5 类型查看
data1=[7,5.6,8,0,1]
arr1=np.array(data1)
arr1.dtype
# 6 全1数组
np.ones((3,4,2))
# 7 N*N特征矩阵(对角线全是1,其他是0)
np.eye()
#或者
np.identity()
# 8 复制一个一模一样的全1或者全0数组
np.ones_like()
np.zeros_like()
# 9 顺序构成数组
a=np.arange(10)
a
##输出array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 10 返回数组的维度大小
ndarray.shape

Ndarray数据类型

NumPy 支持比 Python 更多种类的数值类型。 下表显示了 NumPy 中定义的不同标量数据类型。

数组数据类型的转换

使用astype方法显示地转换数组的数据类型 示例

1
2
3
4
5
6
7
8
9
import numpy as np 
arr = np.array([1,2,3,4,5])
arr.dtype
#输出:dtype('int64')
float_arr = arr.astype(np.float64)
float_arr.dtype
#输出:dtype('float64')
#值得一提的是,浮点数转换成整数时,小数点后的部分会被消除
#当你使用numpy.strinmg_类型的字符串数据时,numpy会修正它的的大小或者删除输入且不发生警告