我有一个这样的数据框什么是使用 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()
一样简单。
关于python - 如何使用 Pandas 计算数据框中的类标签频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58512113/