我有一个Pandas数据框,它有两列:一列用于category(PROBLEM\u TYPE),另一列用于category的描述。显然,每个类别的描述值计数是不同的,但是由于我计划基于这个数据帧训练一个模型,所以我尝试为每个类别设置相同的值计数。这样我的模型会更准确
数据帧:
filtered_df.head()
PROBLEM_TYPE DESCRIPTION
0 problem_type1 blabla...
1 problem_type1 blablablabla...
2 problem_type3 bla...
3 problem_type7 blablabloblo...
4 problem_type2 blobloble...
这是我调用value_counts()
函数时得到的结果:
filtered_df["PROBLEM_TYPE"].value_counts()
problem_type1 141887
problem_type2 21663
problem_type3 19349
problem_type4 15710
problem_type5 5229
problem_type6 5161
problem_type7 4682
problem_type8 3672
problem_type9 3296
problem_type10 3131
Name: PROBLEM_TYPE, dtype: int64
正如您所看到的,有10种不同的问题类型(类别),每种类型都有不同的值计数。我的问题是如何为所有问题类型设置相同的值计数。例如,每个问题类型在数据帧中具有最小值计数(即3131)
换言之,如何将每个类别的频率设置为相同,以便下次运行value_counts()
函数时,它看起来像这样:
filtered_df["PROBLEM_TYPE"].value_counts()
problem_type1 3131
problem_type2 3131
problem_type3 3131
problem_type4 3131
problem_type5 3131
problem_type6 3131
problem_type7 3131
problem_type8 3131
problem_type9 3131
problem_type10 3131
Name: PROBLEM_TYPE, dtype: int64
提前谢谢
您可以执行以下操作:
在这个解决方案中有两个步骤,找到具有最小计数的
"PROBLEM_TYPE"
:然后洗牌数据帧行并获取每组的第一个mi:
有关如何洗牌数据帧的讨论,请参见here
相关问题 更多 >
编程相关推荐