首页 > 编程语言 >Python数据分析库介绍及引入惯例

Python数据分析库介绍及引入惯例

时间:2023-04-07 17:38:07浏览次数:51  
标签:数据分析 惯例 函数 Python scipy 数组 import NumPy

文章和代码等已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 python数据分析 也可获取。


python的缺点

Python有一个叫做全局解释器锁(Global Interpreter Lock,GIL)的组件,这是一种防止解释器同时执行多条Python字节码指令的机制。这并不是说Python不能执行真正的多线程并行代码。例如,Python的C插件使用原生的C或C++的多线程,可以并行运行而不被GIL影响,只要它们不频繁地与Python对象交互。

重要的python库

NumPy

NumPy(Numerical Python的简称)是Python科学计算的基础包。

  • 快速高效的多维数组对象ndarray。
  • 作为在算法和库之间传递数据的容器。对于数值型数据,NumPy数组在存储和处理数据时要比内置的Python数据结构高效得多。此外,由低级语言(比如C和Fortran)编写的库可以直接操作NumPy数组中的数据,无需进行任何数据复制工作。

因此,许多Python的数值计算工具使用NumPy数组作为主要的数据结构。

pandas

pandas提供了快速便捷处理结构化数据的大量数据结构和函数。用得最多的pandas对象

  • DataFrame,它是一个面向列(column-oriented)的二维表结构
  • Series,一个一维的标签化数组对象。

pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,能更加便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。

matplotlib

matplotlib是最流行的用于绘制图表和其它二维数据可视化的Python库。

SciPy

SciPy是一组专门解决科学计算中各种标准问题域的包的集合,主要包括下面这些包:

  • scipy.integrate:数值积分例程和微分方程求解器。
  • scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能。
  • scipy.optimize:函数优化器(最小化器)以及根查找算法。
  • scipy.signal:信号处理工具。
  • scipy.sparse:稀疏矩阵和稀疏线性系统求解器。
  • scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如伽玛函数)的Fortran库)的包装器。
  • scipy.stats:标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好的描述统计法。

scikit-learn

2010年诞生以来,scikit-learn成为了Python的通用机器学习工具包。

子模块包括:

  • 分类:SVM、近邻、随机森林、逻辑回归等等。
  • 回归:Lasso、岭回归等等。
  • 聚类:k-均值、谱聚类等等。
  • 降维:PCA、特征选择、矩阵分解等等。
  • 选型:网格搜索、交叉验证、度量。
  • 预处理:特征提取、标准化。

statsmodels

一个统计分析包,包含经典统计学和经济计量学的算法。

  • 回归模型:线性回归,广义线性模型,健壮线性模型,线性混合效应模型等等。
  • 方差分析(ANOVA)。
  • 时间序列分析:AR,ARMA,ARIMA,VAR和其它模型。
  • 非参数方法: 核密度估计,核回归。
  • 统计模型结果可视化。

statsmodels更关注与统计推断,提供不确定估计和参数p-值。相反的,scikit-learn注重预测。

注意:当使用conda和pip二者安装包时,千万不要用pip升级conda的包,这样会导致环境发生问题。当使用Anaconda或Miniconda时,最好首先使用conda进行升级。

常见的引入惯例

最佳引入方式如下:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import statsmodels as sm

不建议直接引入类似NumPy这种大型库的全部内容(from numpy import *)。

标签:数据分析,惯例,函数,Python,scipy,数组,import,NumPy
From: https://blog.51cto.com/u_15736437/6170985

相关文章

  • DolphinDB +Python Airflow 高效实现数据清洗
    DolphinDB作为一款高性能时序数据库,其在实际生产环境中常有数据的清洗、装换以及加载等需求,而对于该如何结构化管理好ETL作业,Airflow提供了一种很好的思路。本篇教程为生产环境中ETL实践需求提供了一个解决方案,将PythonAirflow引入到DolphinDB的高可用集群中,通过使用Ai......
  • Python-文件基本操作
    """coding:utf-8@Software:PyCharm@Time:2023/4/616:59@author:Panda"""#文件基础3步骤:打开文件,写入或读文件,关闭文件,文件打开必定要关闭(close())"""data='好的'data_str='abc'res=data_str.encode('utf-8&#......
  • opencv-python 4.15. 基于分水岭算法的图像分割
    理论任何灰度图像都可以看作是地形表面,其中高强度表示峰和丘陵,而低强度表示山谷。你开始用不同颜色的水(标签)填充每个孤立的山谷(局部最小值)。随着水的上升,取决于附近的峰值(梯度),来自不同山谷的水,明显具有不同的颜色将开始融合。为避免这种情况,你需要在水合并的位置建立障碍。你继续......
  • 【python基础】五大数据类型及常用方法
    1.数据类型概述 python中的字符串,列表,元组,字典,集合这五种数据类型均是可迭代的,可以使用for循环访问,涵盖了三类数据结构分别为序列、散列、集合。序列: 字符串str 列表list() 元组tuple() 散列: 字典dict() 集......
  • python中的二分查找
    二分查找的前提是查找的数据按照顺序排序二分查找的核心思想是递归#arr:查找的对象#left:arr的左边界#right:arr的右边界#x:需要查找的数defbinary_search(arr,left,right,x):#左边界小于等于右边界ifleft<=right:#得到中位数mid=int((lef......
  • Python Qt 文件转换
    PythonQt文件转换ui文件编译成py文件用windows操作系统的cmd窗口转换进入cmd所在ui文件路径下,执行如下命令:pyside6-uicstudent.ui-ostudent.py用批处理形式转换建立扩展名为bat的文件,双击打开就好。cd/ee:\pythonpyside6-uicstudent.ui-ostudent.py编写pytho......
  • 获取Python函数信息的方法
    Python的反射机制可以动态获取对象信息以及动态调用对象,本文介绍如何获取对象中的函数注释信息以及参数信息。定义一个Person类:classPerson():deftalk(self,name,age,height=None):"""talkfunction:return:"""print(f"Mynamei......
  • python操作git
    安装模块pip3installgitpython#coding:utf-8importosfromgit.repoimportRepofromgit.repo.funimportis_git_dir#pip3installgitpythonclassGitRepository(object):"""git仓库管理"""def__init__(self,......
  • Python 之生成验证码
    一、代码importrandomfromioimportBytesIOfromPILimportImage,ImageDraw,ImageFont,ImageFilterclassCaptcha:def__init__(self,width,height,code_num=4,code_type=1,font_size=24,is_blur=True,font='Arial.ttf',x_......
  • 天猫食品饮料数据分析:2月份茶饮料品牌销量TOP10排行榜!
    近年来,茶饮料品类逐渐丰富,也在潜移默化中激发消费者的购物欲望,茶饮料行业的整体市场规模也不断增长。根据鲸参谋电商数据显示,2023年2月份在天猫平台上,茶饮料相关产品的月销量将近149万件,环比增长约15%;月销售额达到6675万元,环比增长约6%。*数据源于鲸参谋-行业趋势分析根据2月份茶饮......