【数据分析--带你认识数据分析,了解数据分析的】

news2025/4/9 2:13:16

前言:
💞💞大家好,我是书生♡,本阶段和大家一起分享和探索数据分析—基础介绍,本篇文章主要讲述了:数据分析的介绍,Python开源库,配置Jupyter等等。欢迎大家一起探索讨论!!!
💞💞代码是你的画笔,创新是你的画布,用它们绘出属于你的精彩世界,不断挑战,无限可能!

个人主页⭐: 书生♡
gitee主页🙋‍♂:闲客
专栏主页💞:大数据开发
博客领域💥:大数据开发,java编程,前端,算法,Python
写作风格💞:超前知识点,干货,思路讲解,通俗易懂
支持博主💖:关注⭐,点赞、收藏⭐、留言💬

目录

  • 1 . 数据分析介绍
    • 1.1 什么是数据分析
    • 1.2 数据分析的作用
    • 1.3 python和数据分析关系
      • 1.3.1 数据分析的工作
      • 1.3.2 python做数据分析优势
  • 2. python数据分析开源库
    • 2.1 Pandas 库
    • 2.2 NumPy库
    • 2.3 Matplotlib库
    • 2.4 Scikit-learn库
    • 2.5 Seaborn库
    • 2 .6 Jupyter Notebook库
    • 2.7 SciPy库
    • 2.8 Statsmodels库
    • 2.9. Plotly库
    • 2.10 PyTorch / TensorFlow库
  • 3. jupyter环境搭建
  • 4. Jupyter notebook使用
    • 4.1 Jupyter notebook 界面介绍
    • 4.2 Jupyter Notebook常用快捷键
    • 4.3 Jupyter Notebook中使用Markdown
  • 5. Pycharm连接Jupyter

1 . 数据分析介绍

1.1 什么是数据分析

  定义:数据分析是指使用适当的统计方法和技术对收集来的数据进行系统的检查、清理、转换和建模,以揭示其中的趋势、模式和结论的过程。数据分析的主要目标是从数据中提取有用的信息,以支持决策制定和问题解决。

  • 数据分析可以分为几个关键步骤:

    • 数据收集:获取原始数据。
    • 数据预处理:清洗数据,去除噪声和不一致的数据点,处理缺失值,以及进行数据转换。
    • 数据分析:应用统计和计算方法来探索数据,识别模式和趋势。
    • 数据建模:构建统计模型或机器学习模型来预测未来的趋势或结果。
    • 数据可视化:使用图表和其他可视化工具来展示数据分析的结果,使其更容易理解和解释。
    • 报告和呈现:编写报告或制作演示文稿来传达发现的结果和建议。
  • 数据分析的目的通常包括以下几个方面:

    • 现状分析:描述当前情况。
    • 原因分析:探究事件发生的原因。
    • 预测分析:基于历史数据预测未来趋势。
  • 数据分析的方法多种多样,包括但不限于:

    • 描述性统计分析:例如平均数、中位数、标准差等。
    • 探索性数据分析:使用图表和简单的模型来发现数据中的模式。
    • 预测性建模:如回归分析、时间序列分析等。
    • 机器学习算法:用于分类、聚类、关联规则学习等。
    • 数据挖掘:从大型数据集中发现隐藏的模式和知识。

在这里插入图片描述

1.2 数据分析的作用

数据分析之所以重要,是因为它能够帮助企业、组织和个人更好地理解数据背后的意义,从而做出更加明智的决策。

  1. 改善决策质量

    • 数据分析能够提供基于事实的证据,帮助决策者减少猜测和直觉成分,提高决策的准确性和可靠性。
  2. 发现趋势与模式

    • 分析数据可以帮助识别市场趋势、消费者行为模式以及其他重要趋势,这对于预测未来变化至关重要。
  3. 优化业务流程

    • 通过对现有流程的数据分析,可以找出效率低下之处,并提出改进措施,从而提高整体业务流程的效率。
  4. 风险管理

    • 在金融领域,数据分析被用来评估信用风险、市场风险等,帮助金融机构做出更为安全的投资决策。

1.3 python和数据分析关系

1.3.1 数据分析的工作

我们首先要清楚。那些工具可以做数据分析:
  数据分析可以使用多种工具来完成,这些工具根据不同的需求和场景有着各自的特点。
以下是一些常用的数据分析工具及其简要介绍:

  • Excel :最常见的办公软件,能处理百万级别以下的数据,超过百万的就只能另外创建一个sheet页了
  • Python :目前最火的编程语言
  • Tableau / Power BI :专业化进行可视化的工具
  • R:一种专门用于统计计算和图形的编程语言,非常适合统计分析。
  • SQL:用于管理和查询关系型数据库,是数据仓库和ETL(抽取、转换、加载)过程中的重要工具。
  • Tableau / Power BI:商业智能工具,用于创建交互式的仪表板和报告。
  • Apache Hadoop / Spark:用于处理大规模数据集的大数据框架。
  • Jupyter Notebook / Google Colab:交互式笔记本环境,支持代码执行和文档撰写,非常适合数据探索和报告。

1.3.2 python做数据分析优势

现在我们来说说为什么要用Python去做数据分析:

  • python编程语言
    • python开源免费
    • python有很多数据分析相关的开源库(模块/包), 并且一直在持续更新
    • python在人工智能领域是主要的编程语言, 数据挖掘/深度学习/opencv
    • python应用领域更广, 除了做数据分析, web/爬虫/测试/运维等
  • 和数据分析工具对比
    • python没有数据量限制, excel有百万行数据限制;
    • python处理海量数据速度更快, excel/finebi/powerbi/tableau工具处理速度比较慢
    • excel/finebi/powerbi/tableau工具一些功能是收费的
    • python兼容多个平台, windows/mac/linux
  • 和R编程语言对比
    • python处理速度比R语言快
    • python应用领域更广, R语言主要用在统计和数据分析领域
    • python可以处理结构化/非结构化数据, R语言处理结构化数据

其他的工具被限制的原因在于:部分功能需要付费,已经停止更新,处理数据吞吐量少,涉及领域过于单一等等。

2. python数据分析开源库

当然可以!下面是针对每个库的详细介绍及其定义:

2.1 Pandas 库

  • 用途:数据分析
  • 定义:Pandas 是一个用于数据处理和分析的 Python 库。它提供了高性能、易于使用的数据结构以及数据分析工具。
  • 主要功能
    • 提供 DataFrame 和 Series 数据结构。
      1. series -> 一维数据
      2. dataframe -> 二维数据(结构化数据)
    • 数据清洗、转换、合并等操作。
    • 缺失值处理。
    • 时间序列功能。
  • 示例
    import pandas as pd
    df = pd.read_csv('data.csv')
    print(df.head())
    

2.2 NumPy库

  • 定义:NumPy 是一个用于数值计算的 Python 库,运行速度很快的数学库。它支持大量的多维数组和矩阵/向量运算,以及广泛的数学函数来操作这些数组。
  • 主要功能
    • 多维数组对象。
    • 数学函数库。
    • 广播功能。
  • 示例
    import numpy as np
    arr = np.array([1, 2, 3])
    print(arr.mean())
    

2.3 Matplotlib库

  • 定义:Matplotlib 是一个用于数据可视化的 Python 库。它能够生成出版质量级别的图形,支持多种图形后端。
  • 主要功能
    • 根据数据进行数据可视化----绘制静态、动态、交互式的图形。
    • 支持多种图表类型,如线图、散点图、直方图等。
  • 示例
    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3, 4])
    plt.ylabel('some numbers')
    plt.show()
    

2.4 Scikit-learn库

  • 定义:Scikit-learn 是一个用于数据挖掘和数据分析的简单高效的机器学习库。它提供了广泛的数据挖掘和数据预处理工具。
  • 主要功能
    • 机器学习的库 -> AI
    • KNN算法/线性回归算法/逻辑回归算法/决策树算法/集成学习算法/SVM算法分类、回归、聚类算法。
    • 实现数据挖掘和数据分析。
    • 数据预处理工具。
  • 示例
    from sklearn.linear_model import LinearRegression
    from sklearn.datasets import load_boston
    data = load_boston()
    model = LinearRegression()
    model.fit(data.data, data.target)
    print(model.coef_)
    

2.5 Seaborn库

  • 定义:Seaborn 是基于 Matplotlib 的一个 Python 数据可视化库。它提供了一个高级接口,用于绘制有吸引力的统计图形。基于matplotlib, 绘图API更加简洁高效
  • 主要功能
    • 基于 Matplotlib 的高级界面。
    • 支持更复杂的统计图形。
  • 示例
    import seaborn as sns
    tips = sns.load_dataset("tips")
    sns.scatterplot(x="total_bill", y="tip", data=tips)
    plt.show()
    

2 .6 Jupyter Notebook库

  • 定义:Jupyter Notebook 是一个开放源代码的 Web 应用程序,允许用户创建和共享文档,这些文档包含实时代码、方程、可视化和叙述文本。
  • 数据分析的首选开发环境 -> 类似与Pycharm/Datagrip
  • 主要功能
    • 结合代码、文本、图表等。
    • 支持多种编程语言。
  • 示例
    # 在 Jupyter Notebook 中运行上述任何代码块
    

2.7 SciPy库

  • 定义:SciPy 是一个用于科学和技术领域的 Python 库。它建立在 NumPy 之上,提供了一组专门的算法和应用常见的数学工具。
  • 主要功能
    • 统计、优化、插值等算法。
    • 线性代数包。
    • 傅立叶变换功能。
  • 示例
    from scipy.optimize import minimize
    def rosen(x):
        return sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)
    res = minimize(rosen, [1, 2, 3])
    print(res.x)
    

2.8 Statsmodels库

  • 定义:Statsmodels 是一个 Python 库,用于探索数据、估计统计模型以及执行统计测试。
  • 主要功能
    • 回归分析。
    • 时间序列分析。
    • 方差分析。
  • 示例
    import statsmodels.api as sm
    data = sm.datasets.get_rdataset("Guerry", "HistData").data
    results = sm.OLS(data['Lottery'], sm.add_constant(data[['Literacy', 'Wealth']])).fit()
    print(results.summary())
    

2.9. Plotly库

  • 定义:Plotly 是一个用于创建交互式图形的 Python 库。它可以生成可嵌入网页中的图表。
  • 主要功能
    • 创建交互式图表。
    • 支持多种图表类型。
  • 示例
    import plotly.express as px
    df = px.data.gapminder().query("year==2007")
    fig = px.scatter(df, x="gdpPercap", y="lifeExp", size="pop", color="continent",
                     hover_name="country", log_x=True, size_max=60)
    fig.show()
    

2.10 PyTorch / TensorFlow库

  • 定义:PyTorch 和 TensorFlow 都是用于构建和训练深度学习模型的 Python 库。
    • PyTorch 是一个由 Facebook 的人工智能研究实验室开发的开源机器学习框架。
    • TensorFlow 是由 Google Brain 团队开发的开源软件库。
  • 主要功能
    • 构建神经网络。
    • 自动微分计算。
    • GPU 加速训练。
  • 示例(使用 TensorFlow):
    import tensorflow as tf
    model = tf.keras.Sequential([
        tf.keras.layers.Dense(10, activation='relu'),
        tf.keras.layers.Dense(1, activation='sigmoid')
    ])
    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
    

3. jupyter环境搭建

我们当当说了Jupyter是我们首选的进行数据分析的库,那我们就配置一下这个库
注意:我们在使用虚拟机的时候,需要先配置一下anaconda3,这个很简单在官网下载好之后,直接 sh 软件包就可以了。(我这里不做演示)

  • 先进入到Python命令行,获取Jupyter的密码
第一步:输入Python

在这里插入图片描述
输入这两行代码,获取密码,输入之后,会让我们设置密码。我们自己设置就行,然后在输入一下确定密码,就将我们的密码通过加密返回出来了

from notebook.auth import passwd
passwd()

在这里插入图片描述

  • 配置Jupyter生成文件

    • 先生成配置文件
jupyter notebook --generate-config

之后会给我们返回一个路径,/root/.jupyter/jupyter_notebook_config.py
我们复制这个路径。

  • 修改jupyter配置文件
    我们通过vim 进入到刚刚的那个路径,在最下面添加以下代码
 vim /root/.jupyter/jupyter_notebook_config.py
# 添加以下内容
c.NotebookApp.allow_remote_access = True  #允许远程访问
c.NotebookApp.allow_root = True          #允许root访问
c.NotebookApp.ip='*'                     # 所有ip皆可访问  
c.NotebookApp.password = 'sha1:511b40c4da43:7c670e5de12e72a6f3d0cb36cbe91578b9bd2a9e'    
c.NotebookApp.open_browser = False       # 禁止自动打开浏览器  
c.NotebookApp.port =8888                 # 端口
c.NotebookApp.notebook_dir = '/' 

在这里插入图片描述

保存文件退出

  • 配置域名映射,进入下下面的目录下,添加以下代码。
    注意:ip地址需要根据自己的虚拟机进行配置
    在这里插入图片描述
  • 在我们的linux终端,启动Jupyter‘
jupyter notebook

在这里插入图片描述
我们就配置好了我们的Jupyter,

注意:这个页面千万不关闭,也不要退出,需要一直开启

在本地浏览器中输入 192.168.88.100:8888, 进入jupyter的web界面
输入密码,我们之前设置的

在这里插入图片描述
进入之后
在这里插入图片描述

4. Jupyter notebook使用

4.1 Jupyter notebook 界面介绍

在这里插入图片描述

这个页面跟我们的linux页面是一样的,我们也可以进入到一个目录中进行操作,创建文件和创建文件夹
在这里插入图片描述
文件夹和Linux一样,这里我就不演示了
下面演示一下python3文件的创建
在这里插入图片描述
我们可以重命名这个文件
在这里插入图片描述
我们这个文件有两个模式:

  • 代码模式
  • markdown 模式
    在这里插入图片描述
    按钮的作用
    在这里插入图片描述

4.2 Jupyter Notebook常用快捷键

Jupyter Notebook中分为两种模式:命令模式和编辑模式

  • 两种模式通用快捷键

    • Shift+Enter,执行本单元代码,并跳转到下一单元
    • Ctrl+Enter,执行本单元代码,留在本单元
  • 命令模式 --按住ESC进入
    在这里插入图片描述

    • Y,cell切换到Code模式
    • M,cell切换到Markdown模式
    • A,在当前cell的上面添加cell
    • B,在当前cell的下面添加cell
    • 双击D:删除当前cell
  • 编辑模式—我们点击单元格进入编辑模式
    在这里插入图片描述

    • 撤销:Ctrl+Z(Mac:CMD+Z)
    • 补全代码:变量、方法后跟Tab键
    • 为一行或多行代码添加/取消注释:Ctrl+/(Mac:CMD+/)

4.3 Jupyter Notebook中使用Markdown

  • 在命令模式中,按M即可进入到Markdown编辑模式
  • 使用Markdown语法可以在代码间穿插格式化的文本作为说明文字或笔记
  • Markdown基本语法:标题和缩进

在这里插入图片描述

5. Pycharm连接Jupyter

  • 创建一个pycharm项目
  • 创建好项目之后,我们点击“文件”–“设置”–“SSH连接”
    这一步是为了我们的pycharm能够连接上我们的服务器
    在这里插入图片描述
    我们需要连接几台这里就连接几台
  • 配置远程的Python环境
    pycharm中点击File,选择Settings,选择项目python解析器: Python Interpreter, 添加新的python解析器
    在这里插入图片描述
    我们这里选择我们刚那个连接好的服务器,看python具体在那一台上面
    在这里插入图片描述
    一直点击下一步,然后选择系统解释器,我们可以修改服务器上同步文件夹的位置
    在这里插入图片描述
    最后点击创建就可以了
  • 配置sftp服务

当配置Python远程环境时,指定了远程映射目录后,会自动配置sftp。

  • 使用sftp操作远程服务器的文件
  • 将本地开发的代码自动上传服务器

我们这里选择自动上传文件在这里插入图片描述

下面这个配置是自动生成的,如果出现问题可以自行修改
在这里插入图片描述
在这里插入图片描述

  • 第一个python spark开发程序
    创建一个文件写入数据,执行查看结果,是否能正常运行
    在这里插入图片描述

💕💕在这篇文章中,我们深入探讨了什么是数据分析,Python中的那些库可以进行数据分析,以及配置Jupyter,希望能为读者带来启发和收获。
💖💖感谢大家的阅读,如果您有任何疑问或建议,欢迎在评论区留言交流。同时,也请大家关注我的后续文章,一起探索更多知识领域。
愿我们共同进步,不断提升自我。💞💞💞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1978011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++程序的编译链接过程

一、预处理 (1) 将所有的#define删除,并且展开所有的宏定义 (2) 处理所有的条件预编译指令,如#if、#ifdef (3) 处理#include预编译指令,将被包含的文件插入到该预编译…

html+css 实现hover边框彩色流动

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 文…

人工智能深度学习系列—深入探索IoU Loss及其变种:目标检测与分割的精度优化利器

文章目录 1. 背景介绍2. Loss计算公式3. 使用场景4. 代码样例5. 总结 1. 背景介绍 在深度学习的目标检测和分割领域,评估预测结果与真实标注之间的一致性是提升模型性能的关键。IoU Loss(Intersection over Union Loss)及其变种损失函数&…

【人工智能五】人工智能基础习题

文章目录 壹. 内容补充一. VR/AR/MR的区别1. 三者概念2. 区别 二. 深度学习重要算法及人物介绍1. 反向传播算法2. 卷积神经网络 贰. 习题精选1一. 选择二. 判断题三. 填空题四. 简单题1. 综合2. 深度学习与神经网络 壹. 内容补充 一. VR/AR&…

人工智能与机器学习的相关介绍

文章目录 人工智能的发展历程人工智能与机器学习关系图谱数据处理机器学习ML和深度学习DL的区别人工智能按照学习方式划分监督学习算法无监督学习算法总结 人工智能的发展历程 重要的时间点了解一下: 早在1950年人工智能就已经开始兴起 1997年deep blue战胜了人类国…

一款功能强大的屏幕演示工具,免费版足够使用!

鼠标换肤 | 屏幕画笔 | 放大镜 | 聚光灯 | 屏幕放大 | 倒计时,功能强大的屏幕演示工具 屏幕演示工具适用于Windows平台,特别是Windows 10及以上版本。该软件提供了多种实用功能,包括鼠标换肤、屏幕画笔、放大镜、聚光灯、屏幕放大和倒计时等…

k8s集群的资源发布方式(滚动/蓝绿/灰度发布)及声明式管理方法

目录 1.常见的发布方式 2.滚动发布 3.蓝绿发布 4.实现金丝雀发布(Canary Release) 5.声明式管理方法 1.常见的发布方式 蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚优点:用户无感知,部署和回滚速度较…

基于强化学习算法玩CartPole游戏

什么事CartPole游戏 CartPole(也称为倒立摆问题)是一个经典的控制理论和强化学习的基础问题,通常用于测试和验证控制算法的性能。具体来说,它是一个简单的物理模拟问题,其目标是通过在一个平衡杆(倒立摆&a…

Cesium初探-坐标转换

Cesium的坐标系分三种:屏幕坐标、笛卡尔空间直角坐标、地理坐标。 屏幕坐标 屏幕坐标系是一个是平面直角坐标系,即二维笛卡尔坐标系,屏幕左上角为原点(0,0),单位为像素值,屏幕水平方向为X轴&a…

Python | SyntaxError: invalid syntax 深度解析

Python | SyntaxError: invalid syntax 深度解析 在Python编程中,SyntaxError: invalid syntax是一个常见的错误,它表明Python解释器在尝试解析代码时遇到了语法问题。这个错误通常是由于代码中存在拼写错误、缺少符号(如括号、冒号或逗号&a…

Java中的Map(如果想知道Java中有关Map的知识点,那么只看这一篇就足够了!)

前言:在Java编程语言中,集合框架(Collection Framework)提供了一系列用于存储和操作数据的接口和类。其中,Map和Set是两个非常重要的接口,分别用于存储键值对和无重复元素的集合。 ✨✨✨这里是秋刀鱼不做梦…

Nerd Fonts

文章目录 关于 Nerd Fonts重要告示TL;DR字体的各种下载选项 特点 Glyph Setsshell中的图标名称 修补字体Variations 字体安装Option 1: Release Archive DownloadOption 2: Homebrew FontsOption 3: Unofficial Chocolatey or Scoop RepositoriesOption 4: Arch Extra Reposito…

AI在医学领域:医学成像中针对深度神经网络(DNN)的对抗性攻击及其防御策略

关键词:对抗性攻击、医学图像、深度神经网络、模型安全、鲁棒性 机器学习(ML)是医学领域快速发展的一个分支,它利用计算机科学和统计学的方法来解决医学问题。众所周知,攻击者可能通过故意为机器学习分类器创建输入来…

C++11 包装器

1.function包装器 1.1 概念介绍 ret func(x); 上面 func 是什么呢?那么 func 可能是函数名,函数指针,函数对象 ( 仿函数对象 ), 也可能是lamber 表达式对象,这些都是可调用的类型。 函数包装器,也称为函…

comfyui老照片修复工作流,直接复制到comfyui中即可使用

ComfyUI是一个基于web的图形用户界面,用于直观地构建和运行AI模型流程。它特别适合于使用Stable Diffusion等模型进行图像生成任务。然而,ComfyUI本身并不直接提供老照片修复的功能,但你可以通过组合不同的节点来实现这一目标。 老照片修复通常涉及到几个关键步骤: 图像去…

人像修复-插件磨皮

破锤和DR5插件磨皮 破锤插件(更快磨皮)DR5(更好保留皮肤纹理) 破锤插件(更快磨皮) 打开方式:滤镜->Imagenomic->Portraiture 磨皮阈值一般控制在10-20之间若环境与肤色接近,容…

PYTHON专题-(3)你应该知道python内置函数

abs() 函数返回数字的绝对值。dict() 函数用于创建一个字典。help() 函数用于查看函数或模块用途的详细说明。min() 方法返回给定参数的最小值,参数可以为序列。max() 方法返回给定参数的最大值,参数可以为序列。round() 方法返回浮点数 x 的四舍五入值&…

【独家原创】基于APO-Transformer多变量回归预测【24年新算法】 (多输入单输出)Matlab代码

【独家原创】基于APO-Transformer多变量回归预测【24年新算法】 (多输入单输出)Matlab代码 目录 【独家原创】基于APO-Transformer多变量回归预测【24年新算法】 (多输入单输出)Matlab代码效果一览基本介绍程序设计参考资料 效果一…

中国数字孪生进入爆发期,平台级产品决定市场高度

MIT 教授 Geoffrey Parker在《平台革命》中认为,平台正在吞噬整个世界,平台赋予开放的参与式架构,设定合理的参与规则,通过创新的产品、服务为所有参与者创造价值。 与现实世界类似,在数字孪生世界中,数字…

分享5款.NET开源免费的Redis客户端组件库

前言 今天大姚给大家分享5款.NET开源、免费的Redis客户端组件库,希望可以帮助到有需要的同学。 StackExchange.Redis StackExchange.Redis是一个基于.NET的高性能Redis客户端,提供了完整的Redis数据库功能支持,并且具有多节点支持、异步编…