首頁 >後端開發 >Python教學 >如何計算 Pandas DataFrame 欄位中值的頻率?

如何計算 Pandas DataFrame 欄位中值的頻率?

Linda Hamilton
Linda Hamilton原創
2024-12-10 21:22:11813瀏覽

How Can I Count the Frequency of Values in a Pandas DataFrame Column?

計算資料框列中值的頻率

給定一個包含分類值的列的資料框,您可能會遇到需要計算頻率的情況每個唯一值出現的次數。

考慮以下內容dataframe:

category
cat a
cat b
cat a

要擷取不同值及其對應的頻率,請依照下列步驟操作:

使用value_counts()

依照建議@DSM,利用value_counts()來完成此任務任務:

In [37]:
df = pd.DataFrame({'a':list('abssbab')})
df['a'].value_counts()

輸出:

b    3
a    2
s    2
dtype: int64

使用groupby() 和count()

或者,你可以使用groupby()和count():

In [38]:
df.groupby('a').count()

輸出:

   a
a   
a  2
b  3
s  2

[3 rows x 1 columns]

其他選項:

其他選項:

欲了解更多欲欲了解更多信息,請參閱到pandas 文件https://pandas.pydata.org。

將頻率重新合併到資料框中
In [41]:
df['freq'] = df.groupby('a')['a'].transform('count')
df

如果您希望將頻率值加回原始資料框,您可以利用transform()與count():

   a freq
0  a    2
1  b    3
2  s    2
3  s    2
4  b    3
5  a    2
6  b    3

[7 rows x 2 columns]
輸出:

以上是如何計算 Pandas DataFrame 欄位中值的頻率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn