我有一个这样的数据框什么是使用 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/
相关文章:
haskell - Cabal/Stack 忽略自定义安装脚本的 ghc-options
azure-devops - "kubeconfig"选项的 Azure Devops kubern
azure - 服务主体帐户本地 AD Connect 同步
cmake - 安装问题: Cmake error : include could not find
amazon-web-services - Cloudwatch 中未显示 Cognito 的指标
ruby-on-rails - 如何使用 Vue 前端和 Rails 后端实现 env 变量?是否需