数据分析-numpy
什么是数据分析?
数据分析是指用适当的统计分析方法对收集到的大量数据进行分析,提取对于业务有用的信息形成结论并加以详细研究和概括的过程.
数据分析相关的python常用库
- numpy 基础数值运算
- scipy 科学计算
- matplotlib 数据可视化
- pandas 处理序列高级函数
numpy概述
- Numerical Python(数值python). 补充了python欠缺的数值运算能力.
- Numpy是其他数据分析及机器学习的底层库.
- Numpy完全标准C语言实现, 运行效率高.
- 开源免费.
numpy的历史
- 1995年, 发布Numeric python.
- 2001年, Scipy 提供 Numarray. (提供了多维数组)
- 2005年, Numeric + Numarray -> Numpy.
- 2006年, Numpy脱离Scipy成为独立的项目.
numpy的核心:多维数组
import numpy as np
ary = np.array([1, 2, 3, 4])
print(ary)
numpy基础
ndarray数组
import numpy as np
ary = np.array([1, 2, 3, 4])
print(ary)
内存中的ndarray对象
元数据(metadata)
存储对目标数组的描述信息,如: 维度 / 元素类型 等等.
实际数据
存储完整的数组数据.
将实际数据与元数据分开存放,一方面提高了内存空间的使用效率,另一方面减少对实际数据的访问频率,提高性能.
ndarray数组对象的特点
ndarray数组是同质数组, 即所有元素的数据类型必须相同.
ndarray数组对象的创建
np.array(任何可被解释为数组的逻辑结构)
np.arange(起始值[0], 终止值, 步长[1])
np.zeros(数组元素个数, dtype='元素类型')
np.ones(数组元素个数, dtype='元素类型')
np.zeros_like(ary)
np.ones_like(ary)
案例:
"""
demo02_ndarray.py
"""
import numpy as np
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8]])
print(a, a.shape)
# 起始值1, 终止值10, 步长1
b = np.arange(1, 10, 2)
print(b)
# 创建5个元素全为0的数组
c = np.zeros(5, dtype='int32')
print(c, c.dtype)
# 创建5个元素全为1的数组
d = np.ones(5, dtype='int32')
print(d, d.dtype)
# 创建数组e与f, 结构与a相同, e中全0, f中全1
e = np.zeros_like(a)
f = np.ones_like(a)
print(e)
print(f / 5)
ndarray对象属性的基本操作
数组的维度: ndarray.shape
元素的类型: ndarray.dtype
数组元素的个数: ndarray.size len(ndarray)
数组元素的索引(下标): ary[0]
"""
demo03_attr.py
"""
import numpy as np
# 测试数组的维度
a = np.arange(1, 10)
print(a, a.shape)
a.shape = (3, 3)
print(a, a.shape)
# 测试元素的类型
print(a.dtype)
b = a.astype(float)
print(b,