python - 如何使用 Pandas 计算数据框中的类标签频率?

我有一个这样的数据框什么是使用 Pandas 数据框计算特定类的类标签频率的简单方法。

index  f1 f2 f3 f4 f5 f6  class_label
    0      4  4  2  3  3  1        0
    1      1  4  2  1  3  1        0
    2      4  1  2  1  3  1        0
    3      2  4  1  3  3  1        1
    4      4  4  2  0  3  1        1
    5      3  4  2  4  1  1        1
    6      4  4  2  5  3  1        1
    7      4  4  2  3  3  1        1

我已经写下了这段代码,但是有什么简单的方法可以做到这一点:

import pandas  as pd

df  = pd.read_csv('example.tsv',sep='\t')
class_labels  = df['class_label'].values.tolist()
class_labels_set = set(class_labels)

print class_labels

freq_list = []

for c in class_labels_set:
    freq_list.append(class_labels.count(c))

print 'Freq',freq_list
print 'number',class_labels_set

此代码在大文件上非常慢

最佳答案

尝试使用 value_counts .这是 Pandas 必须计算频率计数的一种有用方法。

就像 index.value_counts() 一样简单。

https://stackoverflow.com/questions/58512113/

相关文章:

python - Jupyter 循环播放声音

haskell - Cabal/Stack 忽略自定义安装脚本的 ghc-options

azure-devops - "kubeconfig"选项的 Azure Devops kubern

azure - 服务主体帐户本地 AD Connect 同步

cmake - 安装问题: Cmake error : include could not find

python - 如何理解 4x4 混淆矩阵?

amazon-web-services - Cloudwatch 中未显示 Cognito 的指标

ruby-on-rails - 如何使用 Vue 前端和 Rails 后端实现 env 变量?是否需

python-3.x - 模块错误 : Rasterio has no attribute open

javascript - 如何使用 yarn 将 NodeJS/React 应用程序部署到 Hero