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']])