从零开始:Python与Jupyter Notebook中的数据可视化之旅

从零开始:Python与Jupyter Notebook中的数据可视化之旅

目录

理解数据与数据可视化的基本流程

数据可视化的核心不仅是将数据映射为图形,而是一个贯穿整个数据流向的完整过程。这个过程可以分为以下几个关键步骤:

  • 数据采集:首先需要收集原始数据,可能来自数据库、API、手动输入或其它形式的文件(如CSV、Excel等)。
  • 数据处理和变换:对数据进行清洗、转换、聚合等处理,以便获得可用的数据结构和格式。
  • 可视化映射:将数据映射为图形符号,如点、线、颜色等,展示数据的结构和关系。
  • 人机交互:通过交互式图形实现动态数据探索,用户可以通过缩放、选择、过滤等操作更深入理解数据。
  • 用户感知:最终目标是通过图形呈现帮助用户理解数据的模式、趋势和重要信息。

了解Python与其他可视化工具

在数据可视化领域,Python拥有多个强大的库,可以生成各种类型的图形。常用的库包括:

  • Matplotlib:最基础的可视化库,支持创建各种静态、动态、交互式图形。
  • Seaborn:基于Matplotlib,提供了更高级和美观的统计图形工具,简化了数据的可视化操作。
  • Pandas:主要是用于数据操作和分析的库,但其内置的可视化功能也非常强大,适合快速生成常见图表。
  • Pyecharts:一个基于Python的库,支持创建交互式图形,适合需要精美和复杂展示的场景。

掌握Anaconda、Jupyter Notebook的常用操作方法

  • Anaconda:是一个集成数据科学工具的平台,常用于安装和管理Python及其相关库。
    • 创建虚拟环境:使用conda create -n myenv python=3.x来创建环境。
    • 安装库:在环境中运行conda install <package>pip install <package>
  • Jupyter Notebook:是一个交互式编程环境,支持实时代码执行、数据可视化和文档撰写。
    • 在终端输入jupyter notebook启动应用,打开浏览器进行操作。
    • 通过Markdown格式添加文本注释、公式,方便记录实验过程。

原理

数据可视化的流程可以分为四个主要部分:

  1. 数据采集:收集、导入数据源,通常以CSV、数据库等形式存在。
  2. 数据处理和变换:利用Pandas等工具对数据进行整理。
  3. 可视化映射:借助Matplotlib、Seaborn等库创建图形展示。
  4. 交互和感知:通过交互功能(如Pyecharts)与用户进行数据分析交互,增强对数据的理解。

这种整体的流程不仅提升了可视化的质量,也为用户提供了高效的分析工具。

环境配置

1. 安装Anaconda软件,创建实验环境

激活环境:

conda activate myenv 

打开Anaconda Prompt,创建新的实验环境并指定Python版本:

conda create -n myenv python=3.x 

(例如,python=3.8可以选择合适版本)

2. 安装Jupyter Notebook

启动Jupyter Notebook:

jupyter notebook 

安装Jupyter Notebook:

conda install jupyter 
3. 创建第一个Jupyter Notebook文本
  • 在Jupyter Notebook界面中,点击New -> Python 3,创建一个新的Notebook文件。
(1)更改保存路径、重命名文件
  • 创建文件后,可以点击顶部文件名(默认是Untitled),然后重命名为Iris Visualization或其他合适的名字。
(2)创建代码单元和Markdown单元
  • 点击+按钮可以添加新的单元。
  • Cell类型的下拉框中,可以选择Code(代码单元)或Markdown(文本单元)。
  • 代码单元用来输入Python代码,Markdown单元则可以用来写实验步骤、注释、公式等。

实验1-1:鸢尾花数据集可视化练习

打开软件,可能需要等一会

在这里插入图片描述


点击file——》Python 3

在这里插入图片描述


点击红框,重命名bushuo1-1.

在这里插入图片描述

1. 安装scikit-learn库

在这里插入图片描述

在Anaconda Prompt中运行以下命令安装scikit-learn库:

conda install scikit-learn 
在这里插入图片描述
2. 导入鸢尾花数据集并绘制表格
代码步骤:
# 导入必要的库from sklearn import datasets import pandas as pd import matplotlib.pyplot as plt # 设置字体以支持中文显示 plt.rcParams['font.family']='Arial Unicode MS'# 加载鸢尾花数据集 iris = datasets.load_iris()# 创建DataFrame并设置列名 df = pd.DataFrame(iris.data, columns=['SL','SW','PL','PW'])# 修改列名为中文 df.columns =['长度','宽度','长度2','宽度2']# 显示前几行数据print(df.head())
在这里插入图片描述

绘制特征之间的散点图

plt.figure(figsize=(10, 6)) plt.scatter(df['长度'], df['宽度'], c=iris.target, cmap='viridis') plt.xlabel('花萼长度 (cm)') plt.ylabel('花萼宽度 (cm)') plt.title('鸢尾花花萼长度与宽度的散点图') plt.colorbar(label='种类') plt.show() 

绘制饼图

在这里插入图片描述
plt.rcParams['font.family']='Arial Unicode MS' df['类别']= iris.target df_sum=pd.DataFrame(df.groupby('类别').size(),columns=['数量']) df_sum.plot.pie(y='数量')

绘制散点图

# 导入必要的库 from sklearn importdatasetsimportpandas as pd importmatplotlib.pyplot as plt # 设置字体以支持中文显示 plt.rcParams['font.family']='Arial Unicode MS' # 加载鸢尾花数据集 iris = datasets.load_iris() # 创建DataFrame并设置列名 df =pd.DataFrame(iris.data, columns=['SL','SW','PL','PW']) df.columns =['花萼长度','花萼宽度','花瓣长度','花瓣宽度'] # 绘制散点图 - 展示花萼长度与宽度的关系 plt.figure(figsize=(10,6)) plt.scatter(df['花萼长度'], df['花萼宽度'], c=iris.target, cmap='viridis') plt.xlabel('花萼长度 (cm)') plt.ylabel('花萼宽度 (cm)') plt.title('鸢尾花花萼长度与宽度的散点图') plt.colorbar(label='种类') plt.show()

条形图:展示每种鸢尾花品种的平均特征值,例如平均花萼长度。

通过鸢尾花的目标(种类)创建类别列

df[‘种类’] = pd.Categorical.from_codes(iris.target, iris.target_names)

计算每个品种的平均特征值

mean_values = df.groupby(‘种类’).mean()

绘制条形图 - 展示不同品种的平均花萼长度

plt.figure(figsize=(10,6)) mean_values['花萼长度'].plot(kind='bar', color=['#4CAF50','#FF9800','#2196F3']) plt.title('不同鸢尾花品种的平均花萼长度') plt.xlabel('鸢尾花品种') plt.ylabel('平均花萼长度 (cm)') plt.xticks(rotation=0) plt.show()
在这里插入图片描述

代码解析:

散点图:

使用 plt.scatter() 绘制花萼长度与花萼宽度的关系,并根据鸢尾花品种(iris.target)进行颜色映射。
cmap=‘viridis’ 用来指定颜色图,plt.colorbar() 添加颜色图例,显示各个颜色对应的品种。

条形图:

使用 groupby(‘种类’) 将鸢尾花数据按种类分类,并计算每种花的平均特征值。
mean_values[‘花萼长度’].plot(kind=‘bar’) 用于绘制条形图,显示不同品种鸢尾花的平均花萼长度。
color 参数指定了不同品种的颜色,xticks(rotation=0) 保持x轴标签不旋转。

结论:

散点图提供了特征之间的相关性和品种的分布信息,有助于发现不同品种的分布模式。
条形图则突出展示了不同品种鸢尾花的平均特征值,直观对比它们在某个维度(如花萼长度)上的差异。
这两个可视化方法相结合,有助于从多个角度深入理解鸢尾花数据集中的特征关系和品种差异。

Read more

4步创作革命!WAN2.2极速视频AI重新定义AIGC视频生产流程

4步创作革命!WAN2.2极速视频AI重新定义AIGC视频生产流程 【免费下载链接】WAN2.2-14B-Rapid-AllInOne 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/WAN2.2-14B-Rapid-AllInOne 价值定位:打破专业壁垒的视频创作新范式 在AIGC视频生成领域,创作者长期面临"三高困境":技术门槛高、硬件要求高、时间成本高。传统工作流往往需要串联文本理解、图像生成、视频插值等多个模型,仅模型加载就需消耗数分钟,且80%以上的失败案例源于模型组合不当。WAN2.2-14B-Rapid-AllInOne(简称WAN2.2极速视频AI)以"一体化模型架构"直击行业痛点,将原本需要10+步骤的创作流程压缩至4个核心环节,在8GB显存设备上实现每分钟视频内容的高效生成。 这款由Phr00t团队开发的开源模型,通过"MEGA Merge"

By Ne0inhk

Dify v1.12.0深度适配DeepSeek-V3:支持LoRA微调注入、流式响应对齐、上下文长度动态扩展,附GitHub私有仓库验证清单

第一章:Dify v1.12.0与DeepSeek-V3集成概述 Dify v1.12.0 是一个面向 AI 应用开发的低代码平台,支持快速构建、调试和部署基于大语言模型的应用。该版本显著增强了对第三方大模型的兼容性,尤其在与国产高性能模型 DeepSeek-V3 的集成上实现了深度优化。通过标准化接口对接与上下文管理机制升级,开发者可无缝将 DeepSeek-V3 接入 Dify 的应用工作流中,实现高效推理与对话能力。 核心特性 * 支持通过 API Key 直接连接 DeepSeek-V3 模型服务 * 内置 Prompt 编排引擎,适配 DeepSeek-V3 的输入格式要求 * 提供实时日志追踪与 token 消耗统计功能 * 兼容 streaming 输出模式,提升用户交互体验 配置步骤 1. 登录 Dify 管理后台,

By Ne0inhk
【AI大模型前沿】通义万相Wan2.2:阿里270亿参数巨兽开源,消费级显卡就能跑,免费平替Sora上线

【AI大模型前沿】通义万相Wan2.2:阿里270亿参数巨兽开源,消费级显卡就能跑,免费平替Sora上线

系列篇章💥 No.文章1【AI大模型前沿】深度剖析瑞智病理大模型 RuiPath:如何革新癌症病理诊断技术2【AI大模型前沿】清华大学 CLAMP-3:多模态技术引领音乐检索新潮流3【AI大模型前沿】浙大携手阿里推出HealthGPT:医学视觉语言大模型助力智能医疗新突破4【AI大模型前沿】阿里 QwQ-32B:320 亿参数推理大模型,性能比肩 DeepSeek-R1,免费开源5【AI大模型前沿】TRELLIS:微软、清华、中科大联合推出的高质量3D生成模型6【AI大模型前沿】Migician:清华、北大、华科联手打造的多图像定位大模型,一键解决安防监控与自动驾驶难题7【AI大模型前沿】DeepSeek-V3-0324:AI 模型的全面升级与技术突破8【AI大模型前沿】BioMedGPT-R1:清华联合水木分子打造的多模态生物医药大模型,开启智能研发新纪元9【AI大模型前沿】DiffRhythm:西北工业大学打造的10秒铸就完整歌曲的AI歌曲生成模型10【AI大模型前沿】R1-Omni:阿里开源全模态情感识别与强化学习的创新结合11【AI大模型前沿】Qwen2.5-Omni:

By Ne0inhk

CompreFace:企业级开源人脸识别系统的技术突破与实践应用

CompreFace:企业级开源人脸识别系统的技术突破与实践应用 【免费下载链接】CompreFaceLeading free and open-source face recognition system 项目地址: https://gitcode.com/gh_mirrors/co/CompreFace 在当前数字化转型浪潮中,企业级人脸识别技术正面临着部署成本高昂、技术门槛过高、数据隐私安全等多重挑战。传统的商业人脸识别解决方案往往需要巨额投入,同时缺乏透明度和定制灵活性。CompreFace作为领先的免费开源人脸识别系统,通过其完整的技术架构和丰富的功能模块,为企业用户提供了全新的解决方案。 技术痛点与行业挑战 企业部署人脸识别系统时普遍遭遇以下困境: * 高昂的许可费用 - 商业解决方案动辄数万元的年度授权费用 * 技术依赖风险 - 闭源系统的算法黑盒化导致技术不可控 * 数据安全隐患 - 云端服务存在数据泄露风险 * 定制化困难 - 标准产品难以满足特定业务需求 CompreFace的技术架构优势 CompreFace采用微服务架构设计,将人脸识别

By Ne0inhk