这是我的标签值:
df['Label'].value_counts()
------------------------------------
Benign 4401366
DDoS attacks-LOIC-HTTP 576191
FTP-BruteForce 193360
SSH-Bruteforce 187589
DoS attacks-GoldenEye 41508
DoS attacks-Slowloris 10990
Name: Label, dtype: int64
我使用标签编码来结束代码:
from sklearn.preprocessing import LabelEncoder
label_encoder = LabelEncoder()
label_encoder.fit(df.Label)
df['Label']= label_encoder.transform(df.Label)
这是结果
df['Label'].value_counts()
------------------------------
0 4380628
1 576191
4 193354
5 187589
2 41508
3 10990
Name: Label, dtype: int64
我想要这样的结果:
df['Label'].value_counts()
------------------------------
0 4380628
1 576191
2 193354
3 187589
4 41508
5 10990
Name: Label, dtype: int64
有人知道是什么问题以及如何解决吗?
1条答案
按热度按时间swvgeqrz1#
我们需要可复制和最小的例子来回答。让我们
第一个月
你的问题是因为它是按照它出现的顺序编码的。
B-0、A-1、C-2在
df
中出现顺序。如果要制作A-0,C-1,B-2(按频率),这可以用Pandas单独解决(不需要其他库)。使用以下代码:
s
使
s
到第1列out
检查值_计数