2026/3/29 5:37:13
网站建设
项目流程
dz网站自己做的模板放在哪里,前端网站开发流程,建设什么网站可以赚钱,典型的软件开发模型都有哪些Pandas 是 Python 中最核心的数据分析库#xff0c;专为高效处理结构化数据#xff08;如表格、时间序列#xff09;设计#xff0c;提供了直观的数据结构和丰富的操作方法。它基于 NumPy 构建#xff0c;弥补了 NumPy 对非数值/混合类型数据的支持不足#xff0c;是数据…Pandas 是 Python 中最核心的数据分析库专为高效处理结构化数据如表格、时间序列设计提供了直观的数据结构和丰富的操作方法。它基于 NumPy 构建弥补了 NumPy 对非数值/混合类型数据的支持不足是数据分析、机器学习预处理环节的必备工具。一、核心数据结构Pandas 的两大核心对象是Series一维和DataFrame二维覆盖了绝大多数数据分析场景1. Series一维带标签数组类似“带索引的列表”每个元素有唯一的标签index和对应的值value。示例import pandas as pd # 从列表创建 Series默认索引为 0,1,2... s pd.Series([10, 20, 30, 40]) print(s) # 输出 # 0 10 # 1 20 # 2 30 # 3 40 # dtype: int64 # 自定义索引 s pd.Series([10, 20, 30], index[a, b, c]) print(s[a]) # 输出102. DataFrame二维表格型数据类似 Excel 表格或 SQL 表由行索引index、列名columns和数据值组成每列可以是不同数据类型int/float/str/datetime 等。示例# 从字典创建 DataFrame键为列名值为列数据 data { 姓名: [张三, 李四, 王五], 年龄: [20, 22, 21], 成绩: [85.5, 92.0, 78.5] } df pd.DataFrame(data) print(df) # 输出 # 姓名 年龄 成绩 # 0 张三 20 85.5 # 1 李四 22 92.0 # 2 王五 21 78.5二、数据读取与写入Pandas 支持读取几乎所有常见格式的文件常用方法如下文件格式读取方法写入方法CSVpd.read_csv(file.csv)df.to_csv(file.csv, indexFalse)Excelpd.read_excel(file.xlsx)df.to_excel(file.xlsx, indexFalse)JSONpd.read_json(file.json)df.to_json(file.json)SQLpd.read_sql(query, conn)df.to_sql(table, conn, if_existsreplace)注意read_excel需要安装openpyxl处理.xlsx或xlrd处理旧版.xls依赖pip install openpyxl xlrd三、常用操作1. 查看数据基本信息df pd.read_csv(data.csv) # 前5行默认/ 后n行 df.head(5) # 前5行 df.tail(3) # 后3行 # 数据形状行数, 列数 df.shape # 输出(100, 5) # 列名 df.columns # 输出Index([姓名, 年龄, ...], dtypeobject) # 数据类型与缺失值统计 df.info() # 显示每列的非空值数量、数据类型 # 描述性统计仅数值列 df.describe() # 输出 count/mean/std/min/max/四分位数等2. 选择数据按列选择df[列名]或df[[列1, 列2]]多列需传列表df[姓名] # 单列返回 Series df[[姓名, 年龄]] # 多列返回 DataFrame按行选择位置索引类似列表切片df.iloc[行范围, 列范围]左闭右开df.iloc[0:2] # 前2行 df.iloc[0:2, 0:2] # 前2行前2列标签索引df.loc[行标签范围, 列标签范围]闭区间df.loc[0:1, 姓名:年龄] # 行0~1 列姓名~年龄条件筛选df[条件表达式]df[df[年龄] 20] # 年龄20的行 df[(df[年龄]20) (df[成绩]80)] # 多条件需用/|且加括号3. 数据处理缺失值处理df.isnull() # 标记缺失值True/False df.isnull().sum() # 统计每列缺失值数量 df.dropna() # 删除含缺失值的行默认 df.fillna(0) # 用0填充缺失值 df.fillna(df.mean()) # 用均值填充数值列缺失值去重df.drop_duplicates() # 删除重复行默认保留第一行排序df.sort_values(by成绩, ascendingFalse) # 按成绩降序排列新增/修改列df[是否成年] df[年龄] 18 # 新增布尔列 df[成绩等级] df[成绩].apply(lambda x: 优 if x90 else 良 if x80 else 中)分组聚合GroupBy# 按班级分组计算每班的平均成绩 df.groupby(班级)[成绩].mean() # 多聚合操作按班级分组同时算平均、最高成绩 df.groupby(班级)[成绩].agg([mean, max])合并数据Merge/Join/Concat# 类似SQL的JOIN内连接 pd.merge(df1, df2, on共同列名, howinner) # 纵向拼接需列名一致 pd.concat([df1, df2], axis0) # axis0行拼接axis1列拼接四、时间序列处理Pandas 对时间序列的支持非常强大核心是将字符串转换为datetime类型# 解析日期列 df[日期] pd.to_datetime(df[日期], format%Y-%m-%d) # format指定格式可选 # 提取时间属性 df[年份] df[日期].dt.year df[月份] df[日期].dt.month df[星期几] df[日期].dt.dayofweek # 0周一6周日 # 设置时间为索引便于按时间筛选/重采样 df.set_index(日期, inplaceTrue) # 按周重采样求每周的平均值 df.resample(W).mean() # W周D天M月Y年五、优势总结简洁易用语法接近自然语言降低数据分析门槛高效性能底层基于 Cython 优化处理百万级数据仍流畅生态丰富与 NumPy、Matplotlib、Scikit-learn、Seaborn 等库无缝衔接覆盖“数据读取→清洗→分析→可视化→建模”全流程。六、学习建议先掌握Series/DataFrame 基本操作选择、筛选、聚合重点练习缺失值处理、分组聚合、合并数据实际项目高频需求结合官方文档Pandas Documentation和实战案例如 Kaggle 数据集分析巩固。Pandas 是数据分析师的“瑞士军刀”熟练使用它能极大提升工作效率