本文共 1932 字,大约阅读时间需要 6 分钟。
Pandas 是进行数据分析的利器,尤其在数据查询和统计方面表现尤为突出。了解如何高效操作 Pandas 可以极大地提升数据处理效率。本文将从数据筛选、统计分析、排序、聚合等方面,带你掌握 Pandas 的核心操作。
数据筛选是数据分析的基础操作之一。Pandas 提供了多种方法来实现数据筛选。
df['column'] 可以直接筛选特定列的数据。df['name'] 会筛选出 'name' 列的内容。df[['age', 'gender']]。df.iloc 可以通过行号和列号进行精确定位。df.iloc[0] 获取第一行数据,df.iloc[0:2] 获取前两行。df[df['age'] >= 20] 会筛选出年龄大于等于 20 的记录。df[df['gender'] == 'F'] 则筛选出性别为女性的数据。Pandas 提供丰富的统计功能,方便进行数据分析。
df.describe() 提供数值型数据的基本统计信息。df.count() 统计每列的非空值数量。df.mean() 计算各列的平均值。df.var() 和 df.std() 分别计算方差和标准差。df.groupby('gender')['age'].mean()。df.groupby(['gender', 'age'])['name'].count()。pd.crosstab() 构造交叉表,统计不同性别和年龄的人数。Pandas 提供了便捷的排序功能。
df.sort_values(by='age') 根据 'age' 列进行升序排列。df.sort_values(by='age', ascending=False) 根据 'age' 列进行降序排列。Pandas 提供了多种聚合函数,适合对数据进行汇总操作。
df.aggregate([sum, 'mean', 'median', max, min]) 可以同时计算多个聚合函数。df['age'].mean() 计算年龄平均值。df['age'].sum() 计算年龄总和。df['age'].max() 获取年龄最大值。在实际数据中,缺失值不可避免。Pandas 提供了丰富的处理方法。
df.isnull() 返回一个布尔型 DataFrame,标记出缺失值的位置。df.dropna()。df.dropna(axis=1)。df.fillna(0) 将缺失值替换为 0。去重操作可以帮助你清理数据中的重复记录。
df.drop_duplicates() 默认按所有列去重。df.drop_duplicates(subset=['name', 'age']) 可以指定只按特定列去重。df['name'].drop_duplicates() 去重 'name' 列。数据合并是处理多个数据集的重要操作。
pd.concat([df, other_df], axis=1) 按列合并两个 DataFrame。pd.concat([df, other_df], axis=0) 按行合并两个 DataFrame。构造数据透视表可以直观地展示数据分布情况。
pd.pivot_table(df, values='name', index='gender', columns='age', aggfunc='count') 会以 'gender' 为行、'age' 为列,统计 'name' 的数量。通过本文的内容,你应该已经掌握了 Pandas 在数据筛选、统计分析、排序、聚合、缺失处理、去重和合并等方面的核心操作。只要熟练练习这些命令,你将能在数据分析中事半功倍!
转载地址:http://vdofk.baihongyu.com/