返回

Python Pandas 高阶数据操作技巧

闲谈

前言

Pandas 是 Python 中最受欢迎的数据处理库之一,它提供了一系列强大的函数和方法来处理各种形式的数据。掌握 Pandas 的高阶数据操作技巧对于提升数据分析效率至关重要。

排序

Pandas 提供了多种排序函数,包括:

  • sort_values():根据一个或多个列对 DataFrame 进行排序。
  • sort_index():根据索引对 DataFrame 进行排序。
  • nlargest()nsmallest():返回最大或最小的 n 行。

分组

分组允许您将数据划分为更小的组,以便对每个组执行特定的操作。Pandas 中常用的分组函数有:

  • groupby():按指定列对 DataFrame 进行分组。
  • agg():对分组后的数据执行聚合操作(例如求和、求平均值、求最大值)。

聚合

聚合是将组内数据合并为单个值的函数。Pandas 提供了以下聚合函数:

  • sum():求和。
  • mean():求平均值。
  • max():求最大值。
  • min():求最小值。

筛选

Pandas 允许您使用布尔条件过滤数据。常用的筛选函数包括:

  • query():使用类似 SQL 的语法进行筛选。
  • loc():基于行索引和列索引进行筛选。
  • iloc():基于整数索引进行筛选。

透视表

透视表是一种摘要数据表,它将数据分组并聚合到行列中。Pandas 提供了 pivot_table() 函数来创建透视表。

实例

以下示例展示了如何使用 Pandas 高阶数据操作技巧:

import pandas as pd

# 创建一个 DataFrame
df = pd.DataFrame({
    "name": ["John", "Mary", "Peter", "Susan"],
    "age": [20, 30, 40, 50],
    "city": ["New York", "London", "Paris", "Tokyo"]
})

# 排序
df.sort_values("age", inplace=True)

# 分组
grouped = df.groupby("city")

# 聚合
average_age_by_city = grouped["age"].mean()

# 筛选
filtered = df[df["age"] > 30]

# 透视表
pivot_table = pd.pivot_table(df, index="city", columns="name", values="age")

结论

掌握 Pandas 高阶数据操作技巧可以极大地提高您的数据分析效率。通过排序、分组、聚合、筛选和透视表等操作,您可以轻松处理复杂数据集,从中提取有意义的见解。