計算資料框列中值的頻率
給定一個包含分類值的列的資料框,您可能會遇到需要計算頻率的情況每個唯一值出現的次數。
考慮以下內容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中文網其他相關文章!