目录

第三十八章:数据分析项目

本章目标

完成本章学习后,你将能够:

NumPy基础

import numpy as np
 
# 创建数组
arr = np.array([1, 2, 3, 4, 5])
matrix = np.array([[1, 2], [3, 4], [5, 6]])
 
# 特殊数组
zeros = np.zeros((3, 4))
ones = np.ones((2, 3))
identity = np.eye(3)
 
# 数组运算
arr + 10
arr * 2
np.sum(arr)
np.mean(arr)
np.std(arr)
 
# 索引和切片
arr[0]
matrix[0, 1]
matrix[:, 0]  # 第一列

Pandas基础

import pandas as pd
 
# Series
s = pd.Series([1, 3, 5, np.nan, 6])
 
# DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4],
    'B': ['a', 'b', 'c', 'd'],
    'C': [1.0, 2.0, 3.0, 4.0]
})
 
# 读取数据
df = pd.read_csv('data.csv')
df = pd.read_excel('data.xlsx')
 
# 数据查看
print(df.head())
print(df.info())
print(df.describe())
 
# 筛选
df[df['A'] > 2]
df.query('A > 2')

数据清洗

# 处理缺失值
df.dropna()  # 删除
df.fillna(0)  # 填充
 
# 去重
df.drop_duplicates()
 
# 类型转换
df['A'] = df['A'].astype(int)
 
# 新增列
df['D'] = df['A'] + df['C']
 
# 分组统计
df.groupby('B')['A'].mean()

数据可视化

import matplotlib.pyplot as plt
 
# 折线图
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Plot')
plt.show()
 
# 散点图
plt.scatter(df['A'], df['C'])
 
# 柱状图
plt.bar(df['B'], df['A'])
 
# DataFrame直接绘图
df.plot(kind='bar')

本章实战

1. 销售数据分析 2. 股票数据分析 3. 用户行为分析

下一章:第三十九章:Web应用项目