迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何计算值在 Pandas DataFrame 中出现的频率

作者:迹忆客 最近更新:2024/04/20 浏览次数:

有时,当你使用 DataFrame 时,你可能想计算一个值在列中出现的次数,或者换句话说,计算频率。为此主要使用三种方法。让我们一一看一下。

  1. df.groupby().count()
  2. Series.value_counts()
  3. df.groupby().size()

在以下各节中,我们将使用相同的 DataFrame,如下所示:

import pandas as pd

df = pd.DataFrame(
    {
        "A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
        "B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
    }
)

df.groupby().count() 方法

如果要计算单个列的频率,则此方法最好。

import pandas as pd

df = pd.DataFrame(
    {
        "A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
        "B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
    }
)

freq = df.groupby(["A"]).count()
print(freq)

freq = df.groupby(["B"]).count()
print(freq)

输出:

     B
A     
jim  4
sal  3
tom  2
   A
B   
a  4
b  5

Series.value_counts() 方法

由于每个 DataFrame 对象都是 Series 对象的集合,因此此方法最好用于 pandas.Series 对象。

现在使用 Series.values_counts() 函数

import pandas as pd

df = pd.DataFrame(
    {
        "A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
        "B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
    }
)

freq = df["A"].value_counts()
print(freq)

freq = df["B"].value_counts()
print(freq)

输出:

jim    4
sal    3
tom    2
Name: A, dtype: int64
b    5
a    4
Name: B, dtype: int64

df.groupby().size() 方法

以上两种方法不能用于计算多列的频率,但是我们可以同时对多列使用 df.groupby().size()

import pandas as pd

df = pd.DataFrame(
    {
        "A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
        "B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
    }
)

freq = df.groupby(["A", "B"]).size()
print(freq)

输出:

A    B
jim  a    2
     b    2
sal  a    1
     b    2
tom  a    1
     b    1
dtype: int64

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何从 Pandas 的日期时间列中提取月份和年份

发布时间:2024/04/23 浏览次数:160 分类:Python

我们可以分别使用 dt.year()和 dt.month()方法从 Datetime 列中提取出年和蛾。我们还可以使用 pandas.DatetimeIndex.month 以及 pandas.DatetimeIndex.year 和 strftime()方法提取年份和月份。

Pandas 填充 NaN 值

发布时间:2024/04/23 浏览次数:201 分类:Python

本教程解释了我们如何使用 DataFrame.fillna()方法用指定的值填充 NaN 值。

如何获取 Pandas DataFrame 的行数

发布时间:2024/04/23 浏览次数:71 分类:Python

本教程介绍如何通过使用 shape,len()来获取 Pandas DataFrame 的行数,以及有多少行元素满足条件。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便