重要的Python库
数据处理与绘图的NumPy、pandas、matplotlib库学习记录
NumPy库可以干什么?
使用NumPy,可以执行以下操作:
-
多维数组的算数和逻辑运算。
-
基于元素的数组计算或者数组间数学操作函数
-
用于读写硬盘中的基于数组的数据集的工具
-
傅立叶变换和用于图形操作的例程。
-
与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用。 这种组合广泛用于替代 MatLab。 但是,Python 作为 MatLab 的替代方案,现在被视为一种更加现代和完整的编程语言。而且NumPy是开源的。
Ndarray对象
Ndarray是什么
如下图表示出的数据对象(dtype)与数组标量类型的关系
{% asset_img 1.jpg%}
Ndarray怎么创建
- 利用numpy中的数组函数创建:
numpy.array
- 返回数组
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
上述的参数:
{% asset_img 2.png%}
示例
例子1
#单维度
import numpy as np
a = np.array([1,2,3])
print a
输出如下
[1, 2, 3]
例子2
#多维度
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
输出如下
[[1, 2]
[3, 4]]
例子3
#dtype 参数
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
输出如下
[ 1.+0.j, 2.+0.j, 3.+0.j]
例子4
# 最小维度
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
输出如下
[[1, 2, 3, 4, 5]]
一些常见命令
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 中定义的不同标量数据类型。
{% asset_img 2.png%}
数组数据类型的转换
使用astype方法显示地转换数组的数据类型
示例
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会修正它的的大小或者删除输入且不发生警告