在 CPU 中查找用户模式下的平均用户时间

Find average user time in the user mode in CPU

我有一个列表中的数据。而且是以毫秒为单位的。

datas = [
    '0m0.201s', '0m0.147s', '0m0.140s', '0m0.204s', '0m0.204s', '0m0.225s', 
    '0m0.189s', '0m0.205s', '0m0.204s', '0m0.205s', '0m0.176s', '0m0.184s', 
    '0m0.188s', '0m0.191s', '0m0.208s', '0m0.200s', '0m0.200s', '0m0.200s',
    '0m0.200s', '0m0.180s', '0m0.193s', '0m0.200s', '0m0.211s', '0m0.189s', 
    '0m0.191s', '0m0.240s', '0m0.208s', '0m0.236s'
]

我试过先换算成秒来算平均值。但我无法做到这一点。

如何在 python 中找到此数据的平均值?

由于您的值以毫秒为单位,我们可以删除字母 ms 而无需更改每个元素的值。为此,我们将使用正则表达式。

import re

L=['0m0.201s', '0m0.147s', '0m0.140s', '0m0.204s', '0m0.204s', '0m0.225s', '0m0.189s', '0m0.205s', '0m0.204s', '0m0.205s', '0m0.176s', '0m0.184s', '0m0.188s', '0m0.191s', '0m0.208s', '0m0.200s', '0m0.200s', '0m0.200s', '0m0.200s', '0m0.180s', '0m0.193s', '0m0.200s', '0m0.211s', '0m0.189s', '0m0.191s', '0m0.240s', '0m0.208s', '0m0.236s']

float_array = [float(re.sub("[a-z]","",x)) for x in L] #replacing m&s and converting each element to floating number

mean = sum(float_array)/len(float_array) #your mean

或者您可以使用 statistics 包中的 average 函数。