资讯详情

资讯详情

常用三方库

Pandas包Pandas 是一个高度集成的数据处理工具库它通过提供不同的核心数据结构和丰富的输入输出I/O模块来应对和处理各种类型的数据。Pandas 的所有操作都围绕以下两种核心数据结构展开它们相当于处理数据的“容器”Series一维带标签数组专门用于处理单一维度的数据序列类似于表格中的一列每个元素都有对应的索引标签DataFrame二维表格型数据由多个 Series 组成专门用于处理二维的表格型数据如 Excel 表格、SQL 数据表。它是 Pandas 最核心的结构支持异构列数据能够灵活承载复杂的现实世界数据安装# 安装命令 pip install pandas pip install openpyxl # 如果需要处理excel文件需要安装这个模块 # pandas包里pd模块提供了常通格式文件和数据处理工具 import pandas as pd针对不同类型有专门的处理逻辑数值型数据int64,float64支持高效的向量化数学运算、聚合统计如求和、均值以及异常值检测文本/字符串数据object通过.str访问器提供丰富的字符串处理方法如正则提取、大小写转换、分割与替换等。时间序列数据datetime64,timedeltaPandas 拥有专属的时间序列模块支持日期范围生成date_range、时间重采样resample、时区转换以及滑动窗口计算rolling是金融和时序分析的首选5。分类数据category专门用于处理具有固定类别的离散数据如性别、城市可大幅节省内存并提升分组聚合性能67。pannds模块标准数据处理模块不同标准格式文件的读取xx_read会返回一个DataFrame的结构csv文件pannds.read_csv()、pannds.read_table()、pdpanndsread_fwf()固定宽度格式读取文件得到一个DataFrame对象。 然后通过dataframe.to_csv()导出到csv文件JSON文件使用 pannds.read_json()读取常规 JSONpannds.json_normalize()将半结构化的嵌套 JSON 数据标准化为平面表格html格式文件pannds.read_html()直接从网页中解析并提取表格数据返回一个包含多个 DataFrame 的列表excel文件使用 pannds.read_excel()读取需配合openpyxl等引擎使用to_excel()导出读取数据库 提供了pannds.read_sql()、pannds.read_sql_table()、pannds.read_sql_query()用来读取数据库。to_sql()写回数据库表大数据与高性能格式支持 Parquet、Feather、ORC、HDF5 (PyTables) 等二进制列式存储格式使用read_parquet()、read_feather()、read_hdf()等进行高速读写非常适合大规模数据的存储与处理其他统计软件格式支持读取 SAS (read_sas) 和 SPSS (read_spss) 等统计软件生成的数据文件DataFrame提供了一些常用的数据处理工具可以用于读取的数据数据探查df.head(n) # 查看前 n 行数据默认5行 df.tail(n) # 查看后 n 行数据 df.shape # 返回数据的形状行数, 列数 df.info() # 查看列数据类型、非空值数量及内存信息 df.describe() # 获取数值列的统计摘要均值、标准差、最大最小值等 df.columns # 查看所有列名 df.dtypes # 查看各列的数据类型清晰与筛选# 1. 选取列 df[列名] # 选取单列返回 Series df[[列名1, 列名2]] # 选取多列返回 DataFrame # 2. 按位置或标签选取 df.iloc[行, 列] # 按整数位置索引选取 df.loc[行标签, 列标签] # 按自定义标签索引选取 # 3. 条件筛选 df[df[年龄] 20] # 单条件筛选 # 多条件筛选注意多条件需用 或 | 连接并加括号 df[(df[年龄] 20) (df[城市] 北京)] # 4. 其他筛选 df[df[列名].isin([值1, 值2])] # 筛选特定值 df.query(年龄 20 and 城市 北京) # SQL风格字符串查询处理现实世界中的“脏数据”保证数据质量# 1. 缺失值处理 df.isnull().sum() # 统计每列缺失值数量 df.dropna() # 删除包含缺失值的行 df.fillna(0) # 将缺失值填充为固定值如0 df[列名].fillna(df[列名].mean()) # 用均值填充缺失值 # 2. 重复值处理 df.duplicated() # 检测重复值 df.drop_duplicates() # 删除完全重复的行 df.drop_duplicates(subset[姓名]) # 按特定列去重 # 3. 数据类型转换与文本处理 df[列名].astype(int) # 转换数据类型 pd.to_datetime(df[日期列]) # 转换为日期时间类型 df[文本列].str.lower() # 字符串转小写 df[文本列].str.replace(旧词, 新词) # 替换字符串数据分析与聚合# 1. 排序 df.sort_values(by成绩, ascendingFalse) # 按某列降序排序 # 2. 分组聚合 df.groupby(城市)[薪资].mean() # 按城市分组计算平均薪资 df.groupby(部门).agg({薪资: sum, 年龄: max}) # 对不同列应用不同统计函数 # 3. 透视表 pd.pivot_table(df, values销售额, index月份, columns产品, aggfuncsum) # 4. 自定义函数应用 df.apply(lambda x: x * 2) # 对数据进行批量计算数据合并# 1. 拼接类似 Excel 的上下/左右粘贴 pd.concat([df1, df2], axis0) # 纵向拼接增加行 pd.concat([df1, df2], axis1) # 横向拼接增加列 # 2. 关联类似 SQL 的 JOIN pd.merge(df1, df2, on用户ID, howleft) # 基于“用户ID”进行左连接io模块数据读写模块该模块主要负责数据的输入与输出I/O操作。它支持从多种格式的文件或数据库中读取数据以及将处理后的数据导出。支持的格式包括 CSV、Excel、JSON、SQL 数据库、Parquet、HDF5、HTML 等plotting数据可视化模块该模块提供了数据可视化的公共 API默认集成了matplotlib绘图后端。它包含多种绘图工具和统计图表函数比如散点图矩阵scatter_matrix、自相关图autocorrelation_plot、箱线图boxplot等方便用户快速将数据转化为图表通常通过DataFrame.plot()或Series.plot()调用生成具体的图具体生成什么类型的图可以通过plot()方法的kind参数指定比如直方图就是kind‘bar’也可以通过plot()返回对象的方法来指定比如DataFrame.plot().bar()就是绘制直方图。图表类型kind参数适用场景折线图line观察时间序列数据的变化趋势柱状图bar比较不同分类之间的数值大小水平柱状图barh当分类名称较长垂直柱状图标签易重叠时直方图hist观察连续数值的分布情况如集中、偏态箱线图box查看数据的中位数、四分位数及异常值饼图pie展示各类别在总体中的占比情况散点图scatter探索两个连续变量之间的相关性面积图area展示数据的累计贡献或总量随时间的变化密度图kde/density平滑估计数据的概率分布其他他常用参数来美化图表figsize设置画布大小如figsize(10, 6)。title设置图表标题。xlabel/ylabel设置横纵坐标轴标签。grid是否显示网格线gridTrue。color指定颜色如color[red, blue]。alpha设置透明度0~1之间在绘制重叠图形如直方图时非常有用。rot设置 x 轴标签的旋转角度防止标签重叠如rot45。当两个变量的量纲差异很大时可以使用ax.twinx()创建共享 x 轴的第二个 y 轴生成一个双y周的图tackedTrue柱状图、直方图或面积图中支持设置为true会额外展示占比subplotsTrue可以将 DataFrame 的每一列分别绘制在独立的子图中还可以通过layout(2, 2)指定子图的行列布局注意DataFrame.plot()只是生成了一个 Matplotlib 的图表对象并不会自动将其渲染到屏幕上。你需要手动导入matplotlib.pyplot。可以在末尾调用pyplot.show()在纯后端无交互界面可以将图保存到指定为止plt.savefig(my_chart.png, dpi300, bbox_inchestight)Pandas 绘图底层依赖 Matplotlib默认配置不支持中文字体。如果图表中的中文显示为方块乱码请在绘图前添加以下配置import matplotlib.pyplot as plt # 设置中文字体为黑体 plt.rcParams[font.sans-serif] [SimHei] # 解决负号 - 显示为方块的问题 plt.rcParams[axes.unicode_minus] Falseerrors异常与警告模块该模块包含了pandas在执行过程中可能抛出的自定义异常类和警告类。例如在解析文件失败时会抛出ParserError在合并数据出错时会抛出MergeError等有助于开发者进行针对性的错误处理api模块扩展与底层接口模块这是一个包含多个子模块的集合主要用于高级开发、类型检查和扩展pandas对象pandas.api.types提供数据类型判断工具如is_numeric_dtype()、is_string_dtype()用于验证数据列的类型pandas.api.extensions提供用于扩展pandas对象的函数和类如ExtensionDtype、ExtensionArray允许开发者自定义数据类型pandas.api.indexers提供用于滚动窗口索引器rolling window indexers的函数和类pandas.api.interchange实现了 DataFrame 交换协议方便不同 DataFrame 库之间的数据转换pandas.api.typing包含一些在类型提示type-hinting时可能需要的类这些类通常是中间结果不建议用户直接实例化testing模块测试工具模块该模块提供了一系列在编写涉及pandas对象的单元测试时非常有用的断言函数Assertion functions帮助开发者验证数据处理逻辑的正确性tseries时间序列模块该模块专门用于处理时间序列数据提供日期范围生成、时间偏移量等底层支持配合pandas核心的时间处理函数如to_datetime、resample实现复杂的时间序列分析util工具模块该模块包含一些通用的工具函数例如哈希计算Hashing、从其他 DataFrame 库导入数据等辅助性功能Matplotlib包pyplot模块基础的绘图模块Seaborn统计学数据可视化Plotly ExpressPlotly 的一个子集致力于让用户使 用尽可能少的代码来生成绘图
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →