Python
1、Python 基础语法
编程的基石,需熟练掌握:
- 数据类型与结构:
- 基本类型:整数(
int)、浮点数(float)、字符串(str)、布尔值(bool)、空值(None)。 - 容器类型:
- 列表(
list):动态数组,支持增删改查(如[1, 2, 3])。 - 元组(
tuple):不可变序列(如(1, 2, 3))。 - 字典(
dict):键值对存储(如{'name': '张三', 'age': 25})。 - 集合(
set):无序唯一元素(如{1, 2, 3})。
- 列表(
- 基本类型:整数(
- 控制流与函数:
- 条件语句:
if-elif-else(如if x > 10: print('大于10'))。 - 循环语句:
for遍历(如for item in lst: print(item))、while条件循环。 - 函数定义:
def func(a, b): return a + b,支持默认参数、可变参数。
- 条件语句:
- 异常处理:
try-except-finally:捕获和处理错误(如try: result = 1/0; except ZeroDivisionError: print('除数不能为0'))。
2、数据处理库(Pandas)
Pandas 是 Python 数据分析的核心库,需精通:
- 数据结构:
Series:一维带标签数组(类似 Excel 单列)。DataFrame:二维表格(类似 Excel 工作表),支持行索引和列标签。
- 数据读取与写入:
- 读取文件:
pd.read_csv('data.csv')、pd.read_excel('data.xlsx')、pd.read_sql(query, conn)。 - 写入文件:
df.to_csv('output.csv', index=False)、df.to_excel('output.xlsx')。
- 读取文件:
- 数据清洗与预处理:
- 缺失值处理:
df.dropna()(删除)、df.fillna(0)(填充)。 - 重复值处理:
df.drop_duplicates()。 - 数据类型转换:
df['age'] = df['age'].astype(int)。 - 字符串处理:
df['name'] = df['name'].str.upper()。
- 缺失值处理:
- 数据筛选与排序:
- 条件筛选:
df[df['age'] > 18]。 - 多条件筛选:
df[(df['age'] > 18) & (df['gender'] == '女')]。 - 排序:
df.sort_values(by='age', ascending=False)。
- 条件筛选:
- 数据聚合与分组:
- 分组统计:
df.groupby('city')['age'].mean()(按城市分组求平均年龄)。 - 聚合函数:
df.agg({'age': ['mean', 'max'], 'salary': 'sum'})。
- 分组统计:
- 合并与连接:
pd.concat([df1, df2]):纵向拼接。df.merge(df2, on='id', how='left'):类似 SQL 的 JOIN。
3、数值计算库(NumPy)
高效处理多维数组和数学计算:
- 数组操作:
- 创建数组:
np.array([1, 2, 3])、np.zeros((3, 4))(3 行 4 列全 0 数组)。 - 数组运算:
arr1 + arr2、arr * 2(逐元素运算)。 - 索引与切片:
arr[0, :](第一行所有列)。
- 创建数组:
- 数学函数:
- 统计函数:
np.mean(arr)、np.std(arr)、np.sum(arr)。 - 线性代数:
np.dot(a, b)(矩阵乘法)、np.linalg.inv(A)(矩阵求逆)。
- 统计函数:
4、数据可视化(Matplotlib & Seaborn)
将分析结果可视化呈现:
- 基础绘图(Matplotlib):
- 折线图:
plt.plot(x, y)。 - 柱状图:
plt.bar(x, y)。 - 散点图:
plt.scatter(x, y)。 - 饼图:
plt.pie(data, labels=labels)。
- 折线图:
- 高级绘图(Seaborn):
- 统计图表:
sns.boxplot(x='category', y='value', data=df)(箱线图)。 - 热力图:
sns.heatmap(corr_matrix, annot=True)(相关性矩阵)。 - 分布图:
sns.histplot(df['age'], kde=True)(直方图 + 密度曲线)。
- 统计图表:
- 图表美化:
- 标题、标签:
plt.title('销售额趋势')、plt.xlabel('日期')。 - 图例、网格:
plt.legend(['A产品', 'B产品'])、plt.grid(True)。
- 标题、标签:
5、统计分析与机器学习基础
支持深入分析和预测:
- 统计分析:
- 描述性统计:
df.describe()(均值、标准差、四分位数等)。 - 相关性分析:
df.corr()(计算相关系数矩阵)。 - 假设检验:
scipy.stats.ttest_ind(a, b)(t 检验)。
- 描述性统计:
- 机器学习基础:
- 数据预处理:
sklearn.preprocessing(标准化、归一化)。 - 模型选择:
- 回归模型:线性回归(
LinearRegression)、决策树回归(DecisionTreeRegressor)。 - 分类模型:逻辑回归(
LogisticRegression)、随机森林(RandomForestClassifier)。
- 回归模型:线性回归(
- 评估指标:
accuracy_score(准确率)、mean_squared_error(均方误差)。
- 数据预处理:
6、数据获取与 API 调用
从外部数据源获取数据:
- 网络请求(Requests):
- 发送 HTTP 请求:
response = requests.get(url)。 - 解析 JSON 数据:
data = response.json()。
- 发送 HTTP 请求:
- 网页爬虫(BeautifulSoup):
- 解析 HTML:
soup = BeautifulSoup(html_content, 'html.parser')。 - 提取数据:
soup.find('div', class_='content').text。
- 解析 HTML:
7、自动化与脚本编写
提高日常工作效率:
- 文件操作:
- 读写文件:
with open('file.txt', 'r') as f: content = f.read()。 - 文件遍历:
os.listdir(path)、os.walk(path)。
- 读写文件:
- 自动化任务:
- 定时任务:
schedule库(如schedule.every().day.at('10:00').do(task))。 - 批处理:批量处理 Excel 文件、生成报表。
- 定时任务:
8、Jupyter Notebook 与代码管理
数据分析的核心工作环境:
- Jupyter Notebook:
- 单元格操作:代码单元格、Markdown 单元格。
- 交互式可视化:直接在 Notebook 中显示图表。
- 魔法命令:
%timeit(测试代码执行时间)、%matplotlib inline(内联显示图表)。
- 版本控制(Git):
- 基础操作:
git clone、git add、git commit、git push。 - 协作流程:分支管理、合并冲突解决。
- 基础操作:
9、项目实战与案例
结合业务场景应用 Python:
- 用户行为分析:
- 计算用户留存率、复购率。
- 分析用户画像(年龄、性别、消费偏好)。
- 销售预测:
- 时间序列分析(ARIMA、Prophet 模型)。
- 基于历史数据预测未来销售额。
- A/B 测试:
- 设计测试方案、分析实验结果。
10、进阶工具与框架
根据需求深入学习:
- 大数据处理:
- PySpark:分布式数据处理(处理 TB 级数据)。
- Dask:并行计算(替代 Pandas 处理大文件)。
- 深度学习:
- TensorFlow/PyTorch:构建神经网络模型(如预测用户流失)。
- Web 应用:
- Flask/Django:搭建数据可视化网站或 API 服务。
333

被折叠的 条评论
为什么被折叠?



