查找DataFrame列中的值频率
在数据分析中,经常需要统计特定列中值的出现频率数据框的。为了实现这一点,pandas 提供了多种函数。
一种常见的方法是使用 value_counts() 方法。例如,给定 DataFrame:
category | |
---|---|
cat | a |
cat | b |
cat | a |
使用 value_counts() 返回唯一值及其频率:
df = pd.DataFrame({'category': ['cat a', 'cat b', 'cat a']}) df['category'].value_counts()
输出:
category | freq |
---|---|
cat a | 2 |
cat b | 1 |
另一种方法就是使用groupby()和count()函数。此方法按感兴趣的列对 DataFrame 进行分组,并计算组内每个值的出现次数:
df.groupby('category').count()
输出:
category | count |
---|---|
cat a | 2 |
cat b | 1 |
最后,将频率添加回原始 DataFrame,可以使用 Transform() 函数创建一个包含频率的新列:
df['freq'] = df.groupby('category')['category'].transform('count')
这会产生以下结果DataFrame:
category | freq | |
---|---|---|
cat | a | 2 |
cat | b | 1 |
cat | a | 2 |
通过利用这些方法,数据分析师可以有效地分析 DataFrame 列中值的频率,为决策提供有价值的见解。
以上是如何有效地计算 Pandas DataFrame 列中的值频率?的详细内容。更多信息请关注PHP中文网其他相关文章!