使用Python及R语言绘制简易数据分析报告

Pytohn实现

在python中有很多包可以实现绘制数据分析报告的功能,推荐两个较为方便的包:pandas-profiling 和 sweetviz 。

使用 pandas-profiling 包(功能全面)

这个包的个别依赖包与机器学习的 sklearn包的依赖包存在版本冲突,如已安装sklearn包的话可以在Anaconda中创建虚拟环境使用。

在Anaconda中创建python虚拟环境(创建了一个3.6版本,名为GGBoy的python虚拟环境):

bash 复制代码
conda create -n GGBoy python=3.6

Proceed(y/n)? 中选择 y

创建虚拟环境成功后激活虚拟环境:

bash 复制代码
conda activate GGBoy

环境激活成功:

bash 复制代码
(GGBoy) C:\Users\114514>

在虚拟环境中安装pandas 包和pandas-profiling包:

bash 复制代码
conda install pandas
pip install pandas-profiling

绘制titandick数据集的数据报告,数据集下载地址:taitanic | Kaggle

在VSCode中建立一个拓展名.ipynb的jupyter notebook文件,内核选择刚才新建的虚拟环境:

使用pandas-profiling 包:

python 复制代码
from pandas_profiling import ProfileReport
import pandas as pd

# 使用pandas读取titandick的csv数据集
data = pd.read_csv('C:\\Users\\114514\\Desktop\\titandick.csv')
df = pd.DataFrame(data)

# 绘制数据分析报告
report = ProfileReport(df)  
report.to_file(output_file='report.html')

生成报告:

使用 sweetviz 包(最方便操作):

python 复制代码
import sweetviz as sv
import pandas as pd

# 使用pandas读取titandick的csv数据集
data = pd.read_csv('C:\\Users\\114514\\Desktop\\titandick.csv')
df = pd.DataFrame(data)

# 使用sweetviz包绘制数据分析报告
report = sv.analyze(df) 
report.show_html('report.html')

生成报告:

R语言实现

需要先下载R包 summarytools

R 复制代码
install.packages("summarytools")
R 复制代码
library(summarytools)

df <- read.csv("C:/Users/114514/Desktop/titandick.csv")
report <- dfSummary(df)  

html_report <- print(report, method = "render", include.row.numbers = FALSE, style = "grid")  

html_output <- paste(html_report, collapse = "\n")  

# 将合并后的HTML字符串写入文件  
cat(html_output, file = "report_GGBoy.html")

生成的数据分析报告:

相关推荐
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技2 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
Asa121382 天前
R语言实现多组学因子分析(MOFA)
数据分析
只睡四小时2 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
奇思妙想聪明勤奋的小羊2 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型