如何使用 Pandas 的 cut 函数

如何使用 Pandas 的 cut 函数

参考:how to use pandas cut

Pandas 是一个强大的 Python 数据分析库,它提供了大量的功能来处理和分析数据。其中 cut 函数是用来将连续的数值数据分割成离散的区间的工具。本文将详细介绍如何使用 Pandas 的 cut 函数,包括其基本用法和一些高级技巧。我们将通过多个示例代码来展示 cut 函数的不同用法。

基本用法

cut 函数主要用于将连续变量划分为指定数量的区间,常用于数据分析中的分组操作。下面是一些基本的使用示例。

示例 1:基本分割

import pandas as pd

data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9])
bins = [0, 3, 6, 9]
labels = ["Low", "Medium", "High"]
cut_data = pd.cut(data, bins=bins, labels=labels)
print(cut_data)

Output:

如何使用 Pandas 的 cut 函数

示例 2:自动计算区间

import pandas as pd

data = pd.Series([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
cut_data = pd.cut(data, bins=3, labels=["Low", "Medium", "High"])
print(cut_data)

Output:

如何使用 Pandas 的 cut 函数

示例 3:包含区间边界

import pandas as pd

data = pd.Series([1, 5, 10, 15, 20, 25, 30])
bins = [0, 10, 20, 30]
cut_data = pd.cut(data, bins=bins, right=False)
print(cut_data)

Output:

如何使用 Pandas 的 cut 函数

处理缺失数据

当数据中包含 NaN 值时,cut 函数如何处理也非常重要。

示例 4:忽略 NaN 值

import pandas as pd

data = pd.Series([1, 2, 3, None, 5])
bins = [0, 3, 6]
cut_data = pd.cut(data, bins=bins)
print(cut_data)

Output:

如何使用 Pandas 的 cut 函数

自定义区间标签

除了使用默认的数字区间标签,我们也可以自定义标签。

示例 5:自定义标签

import pandas as pd

data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
bins = [0, 3, 6, 10]
labels = ["Low", "Medium", "High"]
cut_data = pd.cut(data, bins=bins, labels=labels)
print(cut_data)

Output:

如何使用 Pandas 的 cut 函数

高级应用

cut 函数的高级用法包括与其他 Pandas 功能的结合使用,如分组(groupby)和聚合(aggregate)。

示例 6:结合 groupby 使用

import pandas as pd

df = pd.DataFrame({
    "Data": pd.Series([10, 20, 30, 40, 50]),
    "Group": pd.Series(["A", "B", "A", "B", "C"])
})
bins = [0, 25, 50]
df['Categories'] = pd.cut(df['Data'], bins=bins, labels=["Low", "High"])
grouped = df.groupby('Categories').count()
print(grouped)

示例 7:结合 aggregate 使用

import pandas as pd

df = pd.DataFrame({
    "Data": pd.Series([10, 20, 30, 40, 50]),
    "Group": pd.Series(["A", "B", "A", "B", "C"])
})
bins = [0, 25, 50]
df['Categories'] = pd.cut(df['Data'], bins=bins, labels=["Low", "High"])
result = df.groupby('Categories').aggregate({'Data': 'mean'})
print(result)

使用 cut 函数进行数据可视化

cut 函数也常用于数据可视化前的数据预处理。

示例 8:数据可视化前的预处理

import pandas as pd

data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
bins = [0, 5, 10]
labels = ["Low", "High"]
cut_data = pd.cut(data, bins=bins, labels=labels)
print(cut_data.value_counts())

Output:

如何使用 Pandas 的 cut 函数

结论

Pandas 的 cut 函数是一个非常有用的工具,可以帮助我们将连续数据分割成离散的区间。通过上述示例,我们可以看到 cut 函数在数据分析和处理中的多种应用。正确使用 cut 函数可以大大提高数据分析的效率和质量。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程