📅  最后修改于: 2023-12-03 15:41:26.838000             🧑  作者: Mango
在 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 中 Color
和 Size
列的频率计数。
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 中列的频率计数的介绍。