【数据分析--带你认识数据分析,了解数据分析的】
数据分析的介绍,Python开源库,配置Jupyter!!!定义:数据分析是指使用适当的统计方法和技术对收集来的数据进行系统的检查、清理、转换和建模,以揭示其中的趋势、模式和结论的过程。数据分析的主要目标是从数据中提取有用的信息,以支持决策制定和问题解决
前言:
💞💞大家好,我是书生♡,本阶段和大家一起分享和探索数据分析—基础介绍,本篇文章主要讲述了:数据分析的介绍,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.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 数据结构。
- series -> 一维数据
- dataframe -> 二维数据(结构化数据)
- 数据清洗、转换、合并等操作。
- 缺失值处理。
- 时间序列功能。
- 提供 DataFrame 和 Series 数据结构。
- 示例:
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的上面添加cellB
,在当前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,希望能为读者带来启发和收获。
💖💖感谢大家的阅读,如果您有任何疑问或建议,欢迎在评论区留言交流。同时,也请大家关注我的后续文章,一起探索更多知识领域。
愿我们共同进步,不断提升自我。💞💞💞
更多推荐
所有评论(0)