📜  获取 Pandas DataFrame 中列的频率计数(1)

📅  最后修改于: 2023-12-03 15:41:26.838000             🧑  作者: Mango

获取 Pandas DataFrame 中列的频率计数

在 Pandas 中,可以使用 value_counts() 方法来获取 DataFrame 中某一列或多个列的频率计数。

单个列的频率计数

对于单个列的频率计数,只需在 DataFrame 上直接调用对应的列,然后使用 value_counts() 方法即可。下面的示例演示了如何获取 df DataFrame 中 Color 列的频率计数。

import pandas as pd

df = pd.DataFrame({
    'Color': ['Green', 'Blue', 'Red', 'Red', 'Blue', 'Green', 'Green']
})

color_counts = df['Color'].value_counts()
print(color_counts)

输出结果为:

Green    3
Blue     2
Red      2
Name: Color, dtype: int64
多个列的频率计数

对于多个列的频率计数,只需将需要计数的列名作为列表传给 DataFrame 上的 value_counts() 方法即可。下面的示例演示了如何获取 df DataFrame 中 ColorSize 列的频率计数。

import pandas as pd

df = pd.DataFrame({
    'Color': ['Green', 'Blue', 'Red', 'Red', 'Blue', 'Green', 'Green'],
    'Size': ['S', 'M', 'M', 'S', 'L', 'S', 'S']
})

counts = df[['Color', 'Size']].value_counts()
print(counts)

输出结果为:

Color  Size
Green  S       2
Red    S       1
Blue   M       1
       L       1
Red    M       1
Green  M       1
dtype: int64
忽略缺失值

默认情况下,Pandas 的 value_counts() 方法会统计所有非缺失值的计数。如果想要忽略缺失值,可以将 dropna 参数设置为 True

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'Color': ['Green', 'Blue', np.nan, 'Red', 'Red', 'Blue', 'Green', 'Green'],
    'Size': ['S', 'M', np.nan, 'M', 'S', 'L', 'S', 'S']
})

counts = df[['Color', 'Size']].value_counts(dropna=True)
print(counts)

输出结果为:

Color  Size
Green  S       2
Red    S       1
Blue   M       1
       L       1
Red    M       1
dtype: int64

以上是获取 Pandas DataFrame 中列的频率计数的介绍。