1. 安装Python基础环境
Ubuntu系统通常自带Python 3,但需确认版本(建议3.6及以上)并安装pip(Python包管理工具)。通过以下命令完成:
sudo apt update
sudo apt install python3 python3-pip
# 验证安装
python3 --version # 查看Python版本
pip3 --version # 查看pip版本
若需更新pip至最新版,可运行:pip3 install --upgrade pip。
2. 配置虚拟环境(可选但推荐)
为避免不同项目的依赖冲突,建议使用venv创建隔离的虚拟环境:
python3 -m venv myenv # 创建名为myenv的虚拟环境
source myenv/bin/activate # 激活环境(激活后终端提示符会显示环境名)
# 退出环境:deactivate
虚拟环境激活后,后续安装的库仅对当前环境有效。
3. 安装核心数据科学库
通过pip安装Python数据科学必备库,覆盖数值计算、数据处理、可视化及机器学习:
pip3 install numpy pandas matplotlib seaborn scikit-learn jupyter
- NumPy:高性能数值计算库,支持多维数组与矩阵运算;
- Pandas:数据处理与分析库,提供
DataFrame(二维表格)等高效数据结构; - Matplotlib/Seaborn:数据可视化库(Matplotlib为基础,Seaborn基于其提供更美观的高级接口);
- Scikit-learn:机器学习库,涵盖分类、回归、聚类等算法及模型评估工具;
- Jupyter Notebook:交互式开发环境,支持代码、文本与可视化结合,适合探索性分析。
4. 数据获取与预处理
使用Pandas读取各类数据源(如CSV、Excel、数据库),并进行清洗与转换:
import pandas as pd
# 读取CSV文件(常用分隔符:csv用',',tsv用'\t')
data = pd.read_csv('data.csv')
# 读取Excel文件(需安装openpyxl:pip3 install openpyxl)
# data = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 数据清洗:删除缺失值(整行删除)
data = data.dropna()
# 填充缺失值(用列均值填充)
data['column_name'].fillna(data['column_name'].mean(), inplace=True)
# 转换数据类型(如将字符串日期转为datetime)
data['date_column'] = pd.to_datetime(data['date_column'])
# 提取日期特征(如年、月、日)
data['year'] = data['date_column'].dt.year
以上步骤可解决数据中的常见问题,为后续分析奠定基础。
5. 数据探索性分析(EDA)
通过描述性统计与可视化快速了解数据分布与特征:
# 描述性统计(统计量:均值、标准差、最小值、四分位数等)
print(data.describe())
# 分组聚合(按类别分组计算均值)
grouped = data.groupby('category_column')['value_column'].mean()
print(grouped)
# 数据透视表(交叉分析两个分类变量与数值变量的关系)
pivot = data.pivot_table(values='value_column',
index='row_column',
columns='column_column',
aggfunc='mean')
print(pivot)
# 可视化:绘制直方图(查看数值分布)
import matplotlib.pyplot as plt
data['value_column'].hist(bins=30)
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Distribution of Value Column')
plt.show()
# 可视化:绘制箱线图(查看异常值)
import seaborn as sns
sns.boxplot(x='category_column', y='value_column', data=data)
plt.show()
EDA能帮助发现数据中的规律(如某类别均值显著高于其他)、异常值(如箱线图中的离群点)及变量间的相关性。
6. 数据分析与机器学习
使用Pandas进行高级数据处理,结合Scikit-learn构建机器学习模型:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# 特征与目标变量分离(假设预测'sales')
X = data[['feature1', 'feature2']] # 特征列
y = data['sales'] # 目标列
# 划分训练集与测试集(80%训练,20%测试)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)
# 预测与评估
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')
以上示例展示了机器学习的基本流程(数据划分、模型训练、预测、评估),可根据需求替换为分类(如逻辑回归)、聚类(如K-Means)等算法。
7. 使用Jupyter Notebook进行交互式分析
Jupyter Notebook是数据科学家的“利器”,支持代码、Markdown文本与可视化结合,便于记录分析过程:
# 启动Jupyter Notebook(需在虚拟环境中运行)
jupyter notebook
启动后,终端会显示访问链接(如http://localhost:8888),在浏览器中打开即可。新建Notebook时选择“Python 3”内核,即可开始编写代码(如上述数据读取、分析步骤),并通过Markdown单元格添加注释与结论。
8. 可选扩展:数据库连接与Web部署
- 数据库连接:若数据存储在MySQL、PostgreSQL等数据库中,可使用
sqlalchemy与对应驱动读取数据:from sqlalchemy import create_engine # MySQL连接(需安装pymysql:pip3 install pymysql) engine = create_engine('mysql+pymysql://username:password@localhost:3306/database_name') data = pd.read_sql('SELECT * FROM table_name', engine) - Web部署:使用Flask框架将分析结果封装为Web应用,实现在线展示:
部署时需将代码上传至服务器(如Ubuntu云服务器),配置Nginx反向代理与Gunicorn WSGI服务器,提升应用性能与稳定性。from flask import Flask, render_template import pandas as pd app = Flask(__name__) @app.route('/') def home(): data = pd.read_csv('data.csv') avg = data['value_column'].mean() return render_template('index.html', average=avg) # 需创建templates/index.html模板 if __name__ == '__main__': app.run(debug=True)
以上就是关于“Python数据科学在Ubuntu如何实现”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm