Pandas数据分析技巧与函数应用

PandasPython中一个强大的数据分析库,它提供了灵活且可靠的数据处理功能。无论是数据分析师还是爱好者,都能通过Pandas的丰富函数库来简化数据分析工作。本文将探讨一些实用的Pandas函数和技巧,并提供示例代码。这些内容将有助于丰富数据分析工具箱,即使是Pandas的新手,也能从中获益。

在介绍这些函数之前,首先使用Kaggle的泰坦尼克号数据集来创建一个数据框架。可以通过以下链接下载数据集:。当然,也可以使用任何开源数据集进行实践。

1. 唯一值与计数

Pandasunique函数可以返回列中所有不重复的元素列表,包括NA值。这对于检查分类字段中的不同值非常有用。例如:

data['Embarked'].unique()

输出结果为:

array(['S', 'C', 'Q', nan], dtype=object)

nunique函数则用于计算列中不同值的数量,忽略NaN值。这可以帮助了解数据集中某个字段的不同类别数量。例如:

data['Embarked'].nunique()

输出结果为:3

2. 描述性统计

describe函数可以显示数据的描述性统计信息,如均值、标准差、最大值、最小值等。这有助于了解数据的分布情况和异常值。例如:

data.describe()

输出结果将展示每个数值列的统计信息。

3. 排序

sort_values函数可以根据列的值对数据进行排序。可以根据需要对数据进行升序或降序排列。例如:

data.sort_values(by=['Age', 'Pclass'], ascending=[False, True])

或者对单个列进行排序:

data.sort_values(by='Age', ascending=False)

4. 值计数

value_counts函数返回列中每个唯一项的计数。默认情况下,计数结果按降序排列,最频繁的元素排在最前面。例如,可以这样查看不同舱位中男性和女性的数量:

data[['Pclass', 'Sex']].value_counts()

5. 检查缺失值

isnull函数用于检查数据中的缺失值。它返回一个布尔值数组,表示是否有缺失值。例如,可以这样检查数据集中每列的缺失值:

for col in data.columns: if data[col].isnull().sum() > 0: total_null = data[col].isnull().sum() print('Column {} has total null {}, i.e. {} %'.format(col, total_null, round(total_null * 100 / len(data), 2)))

6. 填充缺失值

fillna函数用于根据指定的方法填充缺失值。例如,可以使用中位数来填充“Age”字段的缺失值:

data['Age'].fillna(value=data['Age'].median(), inplace=True)

填充后,可以检查“Age”字段是否还有缺失值:

data['Age'].isnull().sum()

输出结果为:0

7. 分组

groupby函数用于将数据分组,并对其应用函数,最后将结果合并为一个新的对象。例如,可以这样查看每个性别的年龄最大值、最小值、平均值和中位数:

data.groupby(['Sex'])['Age'].agg(['max', 'min', 'mean', 'median'])

8. 映射

gender = {'male': 1, 'female': 0} data['Sex'].map(gender)

9. 应用

df = pd.DataFrame({'Name': ['X', 'Y', 'Z'], 'Marks': [150, 120, 175]}) def percentage_marks(x): return x / 2 df['Marks'].apply(percentage_marks) df = pd.DataFrame({'Class': ['1st', '2nd', '3rd', '1st', '2nd', '3rd'], 'Section': ['A', 'A', 'A', 'B', 'B', 'B'], 'Gr': [1, 2, 3, 4, 5, 6]}) df.pivot(index='Class', columns='Section', values='Gr')
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485