一、NumPy数据计算
1、numpy数组
NumPy提供了一个多维数组类型ndarray
,它可以用来表示向量、矩阵和张量。这些数组可以有不同的数据类型,如整数、浮点数、复数等。
具有如下属性:
(1)内存最优(除了其他方面,以内存块的最佳布局传送数据到C或FORTRAN)。
(2)允许快速线性代数计算,不需要使用for循环迭代就能进行逐元素的操作。
(3)它是SciPy和Scikit-learn等重要库的数据结构,作为它们函数的输入。
2、重要性
- 高性能的数值计算:
- NumPy使用C语言编写,底层进行了大量的优化,因此执行速度非常快。
- 它提供了多维数组对象(
ndarray
),这些对象在内存中是连续存储的,因此可以大大减少CPU的缓存未命中,从而提高计算效率。
- 数组操作方便:
- NumPy提供了大量的函数和方法,用于对数组进行各种操作,如切片、索引、排序、统计、线性代数运算等。
- 这些操作通常都是元素级别的,可以同时对数组中的所有元素进行操作,而无需使用循环,从而大大提高了效率。
- 广播机制:
- NumPy的广播机制允许在不同大小的数组之间进行算术操作,而无需显式地复制或扩展这些数组。
- 这使得在处理不同维度的数据时非常方便,减少了编程的复杂性。
- 内存效率:
- NumPy的数组在内存中是连续存储的,因此可以更有效地利用内存空间。
- 与Python的内置列表相比,NumPy数组使用的内存更少,因为它们不存储任何额外的对象信息(如对象的类型、引用计数等)。
- 与其他库的兼容性:
- NumPy是许多其他Python科学计算库的基础,如Pandas、SciPy、Matplotlib等。
- 这些库都依赖于NumPy的数组对象来存储和处理数据,因此熟悉NumPy对于使用这些库来说是非常有帮助的。
- 科学计算的支持:
- NumPy提供了大量的科学计算函数,如线性代数、随机数生成、傅里叶变换等。
- 这些函数为数据分析提供了强大的支持,使得用户能够轻松地进行各种复杂的计算。
- 易于扩展:
- NumPy本身是一个开源项目,其源代码是公开的,用户可以根据自己的需求进行扩展。
- 此外,NumPy还提供了许多用于创建自定义数组子类的工具,使得用户能够更灵活地处理数据。
3、数组创建
1.利用array函数生成数组
基本使用格式如下:
numpy.array( object
, dtype, copy, order, subok, ndmid)
object:
传入要转换为数组的数据。dtype
:数组元素的数据类型。copy:
(可选, 默认为True
)order:
(可选, 默认为'K'
)。subok
:(可选, 默认为False
)。ndmid
(可选):生成数组的最小维度。
2.利用NumPy函数生成数组
(1)arange函数:arange([start] stop, [stpe,] dtype=None)
(2)linspace函数:linspace(start, stop, num, endpoint=True, retstep=False, dtype=None)
(3)logspace函数:创建等比数列
(4)其他函数:zeros, eye, diag, ones等
zeros(shap,dtype=float) 创建全为0的数组
eye(N, M=None, k=0, dtype=float) 创建对角线为1,其余为0的数组
ones(shape, dtype=None, order='c') 创建全为1的数组
full(shape, fill_value, dtype=None, order='c')
4、生成随机数组
1.np.random.random()方法用于创建一个元素值为0~1的随机数数组,接收一个列表或者元组作为参数。
2.rand函数可以生成服从均匀分布的随机数。
3.randn函数可以生成服从正态分布的随机数。
4.randint 函数可以生成有上下限范围的随机数,其格式如下:
numpy. random. randint(low, high=None, size=None, dtype='1')
二、pandas数据处理
1、什么是pandas
pandas是Python的一个数据分析包,最初由AQR Capital Management于2008 年 4月开发,并于2009年底开源面市,由专注于Python数据包开发的PyData 开发团队继续开发和维护,属于 PyData项目的一部分。
pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。pandas 的名称来自面板数据(panel data)和 Python 数据分析(data analysis)。 panel data是经济学中关于多维据集的一个术语,在pandas中也提供了panel 的数据类型。
2、pandas的主要功能
1.数据导入和导出:Pandas可以轻松地导入和导出数据,支持多种格式,如CSV、Excel、SQL数据库和HDF5格式。
2.数据清洗和准备:Pandas提供了缺失数据处理、数据重复值检测、异常值处理等功能,以便于进行数据清洗。同时,它还支持数据类型转换和数据集的合并、重塑和旋转。
3.数据分析:Pandas提供了丰富的数据分析工具,可以进行数据描述统计、相关性分析、分组和聚合等操作。
4.数据可视化:Pandas内置了与Matplotlib和Seaborn等绘图库的接口,可以方便地绘制数据的图表,如线图、柱状图、饼图等。
3、Series和DataFrame
Series:一维标签数组,能够保存任何数据类型(整数、字符串、浮点数、Python对象等)。Series中的轴标签被统称为索引。它是Pandas中许多操作的基础构建块。
它由两个相互关联的数组组成,其中主数组用来存放数据,主数组的每个元素都有一个与之关联的标签,这些标签存储在另外一个称为index的数组中。
Series([数据1,数据2,…],index[索引 1,索引2,…])
DataFrame:二维标签数据结构,可以看作是一个表格,包含列(可以是不同的数据类型)。DataFrame有行索引和列索引,可以被看作是一个Series的容器。
三、题目
1、Python中的模块和包
在Python中,模块(module)是一个包含Python定义和语句的文件。模块可以定义函数、类和变量,也可以包含可执行的代码。包(package)是一种组织Python模块的方式,它是一个包含多个模块的目录。包中的模块通常被组织成层次化的结构,以便于管理和使用。
导入模块例子:
导入模块:import math_utils
导入包中的模块:from utils import math_utils
utils为
包,其中包含一个名为math_utils.py
的模块
2、属于NumPy提供的基本对象是array。
3、改变数组的操作有:切片,索引,转置,堆叠。
4、字典对象的.clear()方法可以一次性清空字典中所有条目。
5、已知x= list(range(20)),那么语句print(x[100:200])的输出结果为: 空列表[ ]。
6、Python标准库math中用来计算平方根的函数是math.sprt()。
7、什么是 pandas?Pandas的主要功能是什么?解释Series和DataFrame
答:在 二、pandas数据处理
标签:数据分析,函数,Python,重点,数组,dtype,NumPy,pandas From: https://blog.csdn.net/2301_81125272/article/details/140084666