Ubuntu Python数据分析实战
导读:Ubuntu 下的 Python 数据分析实战指南 一 环境搭建与工具选型 更新系统并安装基础工具: 命令:sudo apt update && sudo apt install -y python3 python3-p...
Ubuntu 下的 Python 数据分析实战指南
一 环境搭建与工具选型
- 更新系统并安装基础工具:
- 命令:
sudo apt update & & sudo apt install -y python3 python3-pip
- 命令:
- 选择包与环境管理方式:
- 原生 venv 虚拟环境:
python3 -m venv venv & & source venv/bin/activate - 或 Anaconda:下载安装脚本并执行
bash Anaconda3-< 版本> -Linux-x86_64.sh,随后source ~/.bashrc
- 原生 venv 虚拟环境:
- 常用库一键安装(任选其一)
- 原生 pip:
pip install pandas numpy matplotlib seaborn scikit-learn jupyter - Conda:
conda install pandas numpy matplotlib seaborn scikit-learn jupyter
- 原生 pip:
- 建议的开发工具:Jupyter Notebook(交互式分析)、VS Code(远程开发)、或 PyCharm(专业数据分析工作流)
二 端到端实战流程
- 数据获取
- 本地 CSV:
df = pd.read_csv('data.csv') - 数据库(SQLAlchemy + PyMySQL):
engine = create_engine('mysql+pymysql://user:pwd@host:3306/db'); df = pd.read_sql('SELECT * FROM t', engine) - 网络抓取:
requests+BeautifulSoup获取并解析 HTML
- 本地 CSV:
- 数据清洗与预处理
- 缺失值:
df.dropna()或df['col'].fillna(df['col'].mean(), inplace=True) - 去重:
df.drop_duplicates(inplace=True) - 类型转换:
df['date'] = pd.to_datetime(df['date'])
- 缺失值:
- 探索性数据分析 EDA
- 描述统计:
df.describe(include='all') - 分布与关系:
sns.histplot,sns.scatterplot,sns.boxplot
- 描述统计:
- 分析与建模
- 分组聚合:
df.groupby('cat').agg({ 'val':'mean'} ) - 透视表:
pd.pivot_table(values='val', index='row', columns='cat') - 机器学习基线(回归示例):
train_test_split+LinearRegression+mean_squared_error/r2_score
- 分组聚合:
- 可视化与报告
- 图表导出:
plt.savefig('chart.png', dpi=150, bbox_inches='tight') - 报表输出(可选):
reportlab生成 PDF 报告
- 图表导出:
三 远程与服务器场景
- 在无界面的服务器上运行 Jupyter Notebook
- 生成配置:
jupyter notebook --generate-config - 关键配置(~/.jupyter/jupyter_notebook_config.py):
c.NotebookApp.ip = '0.0.0.0'c.NotebookApp.open_browser = Falsec.NotebookApp.port = 8888
- 启动:
jupyter notebook(如以 root 运行:jupyter notebook --allow-root) - 访问:浏览器打开
http://< 服务器IP> :8888,使用终端输出的 token 登录 - 安全建议:仅开放必要端口,配合 Nginx/TLS 反向代理与访问控制
- 生成配置:
四 性能与扩展建议
- 大数据与并行
- 使用 Dask 处理超出内存的数据集:
pip install "dask[complete]",以分块计算与延迟求值提升可扩展性
- 使用 Dask 处理超出内存的数据集:
- 科学计算依赖
- 部分科学计算/可视化库在 Linux/ARM 或特定环境需系统依赖(如 SciPy 依赖 BLAS/LAPACK 与 gfortran;Matplotlib 可能依赖 freetype2、libpng)。遇到编译或导入错误时,优先安装对应系统库再
pip install相关 Python 包
- 部分科学计算/可视化库在 Linux/ARM 或特定环境需系统依赖(如 SciPy 依赖 BLAS/LAPACK 与 gfortran;Matplotlib 可能依赖 freetype2、libpng)。遇到编译或导入错误时,优先安装对应系统库再
五 常见问题与快速排障
- 多版本 Python 与 pip 混用
- 明确使用
python3与pip3;在虚拟环境中直接用python、pip
- 明确使用
- 虚拟环境未生效
- 确认已执行
source venv/bin/activate,并用which python检查解释器路径
- 确认已执行
- Jupyter 无法远程访问
- 核对
c.NotebookApp.ip='0.0.0.0'、端口 8888 已放行;如使用云服务器,检查安全组/防火墙规则
- 核对
- 中文与字体问题
- 安装中文字体(如
fonts-noto-cjk),并在 Matplotlib 中设置字体后再绘图与保存
- 安装中文字体(如
- 依赖冲突
- 优先使用 venv/conda 隔离环境;必要时用
pip list --outdated与pip check排查冲突包版本
- 优先使用 venv/conda 隔离环境;必要时用
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Python数据分析实战
本文地址: https://pptw.com/jishu/755780.html
