NumPy和Pandas是Python数据科学生态系统中最核心的两个库。NumPy提供了高效的数值计算能力,而Pandas则提供了强大的数据处理和分析工具。本章将介绍这两个库的基本概念和常用操作。
import numpy as np
print("=== NumPy数组与向量化 ===")
# 创建数组
arr = np.array([1, 2, 3, 4, 5])
print(f"一维数组: {arr}")
# 二维数组
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(f"二维数组:\n{matrix}")
# 向量化运算
arr_squared = arr ** 2
print(f"数组平方: {arr_squared}")
# 数组统计
print(f"数组平均值: {np.mean(arr):.2f}")
print(f"数组标准差: {np.std(arr):.2f}")
# 数组操作
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(f"数组相加: {arr1 + arr2}")
print(f"数组点积: {np.dot(arr1, arr2)}")
import pandas as pd
print("=== Pandas Series/DataFrame ===")
# 创建Series
series_data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(f"Series:\n{series_data}")
# 创建DataFrame
data = {
'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [25, 30, 35, 28],
'城市': ['北京', '上海', '广州', '深圳'],
'工资': [5000, 8000, 6000, 7500]
}
df = pd.DataFrame(data)
print(f"DataFrame:\n{df}")
print("\n=== 选择、过滤与缺失值 ===")
// 选择列
print(f"姓名列:\n{df['姓名']}")
// 条件过滤
high_salary = df[df['工资'] > 6000]
print(f"工资大于6000的员工:\n{high_salary}")
// 处理缺失值
df_with_na = df.copy()
df_with_na.loc[2, '工资'] = None // 添加缺失值
print(f"包含缺失值的DataFrame:\n{df_with_na}")
print(f"缺失值统计:\n{df_with_na.isnull().sum()}")
// 填充缺失值
df_filled = df_with_na.fillna({'工资': df_with_na['工资'].mean()})
print(f"填充缺失值后的DataFrame:\n{df_filled}")