初始化与导入
--------
在本文中,我们将使用以下简写:
data_frame:表示任意的 Pandas DataFrame 实例
同时需要导入库如下:
加载数据
----
- pd.read_csv(文件路径):从 CSV 文件读取数据
- pd.read_table(文件路径, sep='分隔符'):从文本文件读取数据,指定分隔符
- pd.read_excel(工作簿路径):从 Excel 文件读取数据
- pd.read_sql(query, 数据库连接):从 SQL 数据库读取数据
- pd.read_json(json字符串):从 JSON 字符串读取数据
- pd.read_html(url):从网页解析表格
- pd.read_clipboard():从剪贴板读取内容,并传给 read_table()
- pd.DataFrame(dict_data):从字典创建 DataFrame,键作为列名,值作为数据
导出数据
----
- data_frame.to_csv(文件名):保存为 CSV 文件
- data_frame.to_excel(文件名):保存为 Excel 文件
- data_frame.to_sql(表名, 数据库连接):保存到 SQL 表
- data_frame.to_json(文件名):以 JSON 格式保存数据
生成测试数据集
------
- pd.DataFrame(np.random.rand(20,5)):创建一个包含随机数的 20x5 DataFrame
- pd.Series(iterable_data):从可迭代对象创建 Series
- data_frame.index = pd.date_range('起始日期', periods=data_frame.shape[0]):设置日期索引
浏览和检查数据
-------
- data_frame.head(n):显示前 n 行
- data_frame.tail(n):显示后 n 行
- data_frame.shape:查看行数和列数
- data_frame.info():显示索引、数据类型及内存信息
- data_frame.describe():展示数值列的基本统计信息
- series.value_counts(dropna=False):显示唯一值及其计数
- data_frame.apply(pd.Series.value_counts):对每一列应用 value_counts 方法
选取数据
----
- data_frame[列名]:按列名选取,返回 Series
- data_frame[[列名1, 列名2]]:选取多列,返回 DataFrame
- series.iloc[位置]:通过位置索引选取元素
- series.loc['标签']:通过标签选取元素
- data_frame.iloc[0,:]:获取第一行
- data_frame.iloc[0,0]:获取第一个单元格的内容
数据清洗
----
- data_frame.columns = ['a','b','c']:重命名所有列
- pd.isna():检测缺失值
- pd.notna():检测非缺失值
- data_frame.dropna():删除含有任何缺失值的行
- data_frame.dropna(axis=1):删除含有任何缺失值的列
- data_frame.fillna(值):用指定值填充缺失值
- series.astype(float):转换数据类型为浮点型
- series.replace(旧值, 新值):替换特定值
- data_frame.rename(columns={'旧名':'新名'}):更改列名
- data_frame.set_index('列名'):设定新的索引列
数据操作:筛选、排序与分组
--------------------------
- data_frame[data_frame[列名] > 数值]:根据条件筛选行
- data_frame.sort_values(by=列名):按指定列排序,默认升序
- data_frame.groupby(列名):按某列进行分组
- data_frame.pivot_table(index=列名, values=[列名1, 列名2], aggfunc=max):创建数据透视表
数据整合
----
- pd.concat([df1, df2], axis=1):沿列方向合并两个 DataFrame
- df1.merge(df2, on='公共列', how='inner'):基于共同列进行内连接
数据分析
----
- data_frame.mean():计算每列的平均值
- data_frame.corr():计算相关系数矩阵
- data_frame.count():统计每列的有效值数量
- data_frame.max():找出每列的最大值
- data_frame.min():找出每列的最小值
- data_frame.median():计算每列的中位数
- data_frame.std():计算每列的标准差