首页 > 其他分享 >数据分析 Numpy+Scipy+Matplotlib+Pandas

数据分析 Numpy+Scipy+Matplotlib+Pandas

时间:2024-08-14 10:27:17浏览次数:8  
标签:... py 步长 Scipy 数组 np Numpy Pandas

数据分析
Numpy+Scipy+Matplotlib+Pandas
基础数值算法
科学计算
数据可视化
序列高级函数
一、numpy是什么?
1.Numerical Python,数值的Python,补充了Python语言所欠缺的数值计算能力。
2.Numpy是其它数据分析及机器学习库的底层库。
3.Numpy完全标准C语言实现,运行效率充分优化。
4.Numpy开源免费。
二、Numpy的历史
1.1995年,Numeric,Python语言数值计算扩充。
2.2001年,Scipy->Numarray,多维数组运算。
3.2005年,Numeric+Numarray->Numpy。
4.2006年,Numpy脱离Scipy成为独立的项目。
三、Numpy的核心:多维数组
1.代码简洁:减少Python代码中的循环。
2.底层实现:厚内核(C)+薄接口(Python),保证性能。
代码:vector.py
四、Numpy基础
1.数组对象
1)用np.ndarray类的对象表示n维数组
实际数据:数组中元素
元数据:描述数组中的元素
将实际数据与元数据分开存放,一方面提高了内存空间的使用效率,另一方面减少对实际数据的访问频率,提高性能
2)Numpy数组是同质数组,即所有元素的数据类型必须相同
3)Numpy数组的下标从0开始,最后一个元素的下标为数组长度减1
4)np.ndarray.dtype/shape/size:类型/维度/大小
5)np.arange(起始值(0),终止值,步长(1))->等差序列
np.array(任何可被解释为Numpy数组的逻辑结构)
    ->任意维度和类型的数组对象
代码:shape.py、type.py、size.py
6)元素索引(下标)
数组对象[..., 页号, 行号, 列号]
数组对象.shape->(..., 页数, 行数, 列数)
X号:[0, X数-1]
代码:index.py
7)Numpy的内部基本数据类型
布尔型:bool_
整数型:
有符号:int8(-128~127)/int16/int32/int64
无符号:uint8(0~255)/uint16/uint32/uint64
浮点型:float16/float32/float64
复数型:complex64/complex128
字串型:str_,每个字符用32位Unicode编码表示
8)自定义复合类型
代码:dtype.py
9)类型字符码
np.bool_: ?
np.int8: b
np.uint8: B
np.int8/16/32/64: i1/2/4/8
np.uint8/16/32/64: u1/2/4/8
np.float/16/32/64: f2/4/8
np.complex64/128: c8/16
np.str_: U<字符数>
np.datetime64: M8
字节序前缀,用于多字节整数和字符串:
</>/[=]分别表示小端/大端/硬件字节序。
<字节序前缀><维度><类型><字节数或字符数>
>3i4:大端字节序,3个元素的一维数组,每个元素都是整型,每个整型元素占4个字节。
<(2,3)u8:小端字节序,6个元素2行3列的二维数组,每个元素都是无符号整型,每个无符号整型元素占8个字节。
>U7: 包含7个字符的Unicode字符串,每个字符占4个字节,采用大端字节序。
10)切片
数组对象[起始位置:终止位置:位置步长, ...]
缺省起始位置:(位置步长+)首/(位置步长-)尾
缺省终止位置:(位置步长+)尾后/(位置步长-)首前
缺省位置步长:1
代码:slice.py
11)改变维度
视图变维 \    reshape/ravel                                / 数据共享
                 > 返回一个具有新维度的新数组对象 <
复制变维 /    flatten                                            \ 数据独立
就地变维 --- 在原数组对象之上,改变其维度,不返回新数组
xxx.shape = ...
xxx.resize(...)
代码:reshape.py
12)组合与拆分
垂直:
np.vstack((上, 下))->组合数组
np.concatenate((上, 下), axis=0)
                        / 二维:0-行,垂直,1-列,水平
axis表示轴向 <
                        \ 三维:0-页,深度,1-行,垂直,2-列,水平
np.vsplit(数组, 份数)->上, ..., 下
np.split(数组, 份数, axis=0)
水平
np.hstack((左, 右))->组合数组
np.concatenate((左, 右), axis=1)
np.hsplit(数组, 份数)->左, ..., 右
np.split(数组, 份数, axis=1)
深度
np.dstack((前, 后))->组合数组
np.dsplit(数组, 份数)->前, ..., 后
行列(可以用一维数组做参数)
np.row_stack((上, 下))->组合数组
np.column_stack((左, 右))->组合数组
代码:stack.py
13)ndarray类的属性
shape - 维度
dtype - 元素类型
size - 元素数量
ndim - 维数,len(shape)
itemsize - 元素字节数
nbytes - 总字节数 = size x itemsize
real - 复数数组的实部数组
imag - 复数数组的虚部数组
T - 数组对象的转置视图
flat - 扁平迭代器
代码:attr.py
数组对象.tolist()->列表
五、数据可视化
Matplotlib
        |
  Numpy
  Matlab
1.基本绘图
mp.plot(水平坐标, 垂直坐标)
代码:plt1.py
2.线型、线宽和颜色
mp.plot(
    ..., linestyle=线型, linewidth=线宽, color=颜色, ...)
代码:plt2.py

标签:...,py,步长,Scipy,数组,np,Numpy,Pandas
From: https://blog.csdn.net/wjhltl/article/details/141155139

相关文章

  • 计算机视觉2:NumPy模块函数学习
    NumPy是一个运行速度非常快的数学库,主要用于数组计算,包含一个强大的N维数组对象ndarray、广播功能函数、整合C/C++/Fortran代码的工具和线性代数、傅里叶变换、随机数生成等功能。将NumPy包引入,没有的话需要先安装。importnumpyasnp一、ndarray对象NumPy最重要的一个......
  • Python酷库之旅-第三方库Pandas(076)
    目录一、用法精讲311、pandas.Series.str.encode方法311-1、语法311-2、参数311-3、功能311-4、返回值311-5、说明311-6、用法311-6-1、数据准备311-6-2、代码示例311-6-3、结果输出312、pandas.Series.str.endswith方法312-1、语法312-2、参数312-3、功能312-......
  • 大话Numpy(一)数组——升级的List
    摘要以实例为导向,用一种简单易懂的方式介绍Numpy。笔者直接将numpy的方法写入目录,便于查询。参考文档:https://numpy.org/doc/stable/user/index.htmlhttps://numpy.org/doc/stable/user/absolute_beginners.htmlhttps://edu.csdn.net/job/pythonbe_02/python-3-195To:......
  • Pandas从入门到放弃
    公众号本文地址:https://mp.weixin.qq.com/s/mSkA5KvL1390Js8_1ZBiywPandas简介Pandas是Paneldata(面板数据)和Dataanalysis(数据分析)的缩写,是基于NumPy的一种工具,故性能更加强劲。Pandas在管理结构数据方面非常方便,其基本功能可以大致概括为一下5类:数据/文本文件读取;索引......
  • 使用Pandas和NumPy实现数据获取
    公众号本文地址:https://mp.weixin.qq.com/s/Uc4sUwhjLTpOo85ubj0-QA以某城市地铁数据为例,通过提取每个站三个月15分钟粒度的上下客量数据,展示Pandas和Numpy的案例应用。数据:http://u6v.cn/5W2i8Hhttp://u6v.cn/6hUVjk初步发现数据有三个特点::1、地铁数据的前五行是无效的,......
  • Python数据科学的秘密武器:Pandas库的深度解析
    标题:Python数据科学的秘密武器:Pandas库的深度解析Python作为数据科学领域的宠儿,其强大的数据处理能力离不开Pandas库的加持。Pandas是一个开源的数据分析和操作库,它提供了快速、灵活和表达力强的数据结构,旨在使数据清洗和分析工作变得更加简单易行。本文将深入探讨Pandas库......
  • 【数据分析---- Pandas进阶指南:核心计算方法、缺失值处理及数据类型管理】
    前言:......
  • Python使用PyCharm+PySide6+Pandas创建QTableView显示Excel工作簿数据
    importsysimportwarningsfrompathlibimportPathimportpandasaspdfromPySide6importQtWidgetsfromPySide6.QtCoreimportQtfromPySide6.QtGuiimportQStandardItemModel#读取Excel工作簿数据defread_excel_with_pandas(path_excel,_cols):"&qu......
  • Python和AI库NumPy(三):数组形状与变换
    目录1.数组的基础形状操作1.1查看数组的形状1.2改变数组的形状2.数组的转置与轴交换2.1数组的转置2.2交换数组的轴3.数组的合并与分割3.1数组的水平与垂直合并3.2数组的分割4.高级数组变换技巧4.1广播机制(Broadcasting)4.2使用expand_dims()和squeeze()......
  • 关于Pandas学习的一些资源
    Pandas这个库,在2016年的时候就有所耳目,当时做数据处理的一些工作。但是这个库有点庞大,一时半会消化不了。后来离开原公司,就弃之若敝。直到最近又将其捡回。对于Pandas的学习,首先要把其基础打好,至于实战,往往就是对基础的掌握,存在多种不同的解决方法。下面是一些学习的资源......