Skip to content

Python 数据分析

Python 是数据分析领域最流行的编程语言之一,拥有丰富的库生态。

Pandas 技巧

数据读取与写入

python
import pandas as pd

# 读取 CSV
df = pd.read_csv('data.csv')

# 读取 Excel
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 写入 CSV
df.to_csv('output.csv', index=False)

# 写入 Excel
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)

数据查看

python
# 查看前几行
print(df.head())

# 查看数据信息
print(df.info())

# 查看统计摘要
print(df.describe())

# 查看列名
print(df.columns)

数据筛选

python
# 按条件筛选
filtered = df[df['age'] > 18]

# 多条件筛选
filtered = df[(df['age'] > 18) & (df['country'] == 'China')]

# 使用 query
filtered = df.query('age > 18 and country == "China"')

NumPy 运算

数组创建

python
import numpy as np

# 创建数组
arr = np.array([1, 2, 3, 4, 5])

# 创建全零数组
zeros = np.zeros((3, 4))

# 创建全一数组
ones = np.ones((2, 3))

# 创建随机数组
random = np.random.rand(3, 3)

矩阵运算

python
# 矩阵乘法
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = np.dot(A, B)

# 矩阵转置
A_T = A.T

# 矩阵逆
A_inv = np.linalg.inv(A)

统计计算

python
arr = np.array([1, 2, 3, 4, 5])

# 均值
mean = np.mean(arr)

# 标准差
std = np.std(arr)

# 最大值和最小值
max_val = np.max(arr)
min_val = np.min(arr)

# 求和
sum_val = np.sum(arr)

数据清洗

缺失值处理

python
# 查看缺失值
print(df.isnull().sum())

# 删除缺失值
df_clean = df.dropna()

# 填充缺失值
df['age'] = df['age'].fillna(df['age'].mean())

# 使用前向填充
df['age'] = df['age'].fillna(method='ffill')

# 使用后向填充
df['age'] = df['age'].fillna(method='bfill')

重复值处理

python
# 查看重复值
print(df.duplicated().sum())

# 删除重复值
df_clean = df.drop_duplicates()

# 根据特定列判断重复
df_clean = df.drop_duplicates(subset=['email'])

数据类型转换

python
# 转换为日期类型
df['date'] = pd.to_datetime(df['date'])

# 转换为数值类型
df['price'] = pd.to_numeric(df['price'], errors='coerce')

# 转换为字符串类型
df['id'] = df['id'].astype(str)

数据标准化

python
from sklearn.preprocessing import StandardScaler, MinMaxScaler

# Z-score 标准化
scaler = StandardScaler()
df['standardized'] = scaler.fit_transform(df[['value']])

# Min-Max 标准化
scaler = MinMaxScaler()
df['normalized'] = scaler.fit_transform(df[['value']])