以最大频率获取类(python)

2024-06-26 14:01:50 发布

您现在位置:Python中文网/ 问答频道 /正文

因此基于以下groupby代码:

aps1.groupby(['S3bin2','S105_9bin2', 'class_predict']).size().unstack()

我得到以下输出:

class_predict            0      1
S3bin2 S105_9bin2                
50     50          16058.0  133.0
       100           256.0    7.0
       150           161.0    NaN
       200           160.0    1.0
       400000       4195.0   58.0
100    50           3480.0   20.0
       100            68.0    NaN
       150            43.0    1.0
       200            48.0    1.0
       400000        689.0    2.0
150    50           1617.0    6.0
       100            73.0    NaN
       150            33.0    NaN
       200            52.0    NaN
       400000        935.0    3.0
200    50           1155.0    8.0
       100            73.0    1.0
       150            37.0    NaN
       200            45.0    NaN
       400000        937.0    NaN
300000 50          11508.0  178.0
       100           748.0   11.0
       150           446.0    5.0
       200           350.0    9.0
       400000      13080.0   49.0

所以对于S3bin2S105_9bin2中的组50,0的频率最高。是否可以运行一个函数来打印0计数最高的组,以及计数?我试过transform(max)和其他东西,但我不明白。你知道吗


Tags: 函数代码sizetransformnanpredictmaxclass
1条回答
网友
1楼 · 发布于 2024-06-26 14:01:50

所有数据中最大测试值的解决方案:

首先可以删除unstack并为max^{}添加^{},最后通过format创建输出:

s = aps1.groupby(['S3bin2','S105_9bin2', 'class_predict']).size()

a = s.agg(['idxmax', 'max'])
print (a)
idxmax    (50, 50, 0)
max             16058
dtype: object

print (s.index.names)
['S3bin2', 'S105_9bin2', None]

a,b,c = a['max'], a['idxmax'], s.index.names
d = 'Maximum failure ({0}) at {1[0]}({2[0]}) and {1[1]}({2[1]})'.format(a,b,c)
print (d)
Maximum failure (16058) at 50(S3bin2) and 50(S105_9bin2)

但是如果只想测试列01

df = aps1.groupby(['S3bin2','S105_9bin2', 'class_predict']).size().unstack()
#change 0 to 1 for test column 1
a = df[0].agg(['idxmax', 'max'])
print (a)
idxmax    (50, 50)
max          16058
Name: 0, dtype: object

a,b,c = a['max'], a['idxmax'], df.index.names
d = 'Maximum failure ({0}) at {1[0]}({2[0]}) and {1[1]}({2[1]})'.format(a,b,c)
print (d)
Maximum failure (16058.0) at 50(S3bin2) and 50(S105_9bin2)

相关问题 更多 >