You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何精简Python中字符串转浮点后计算均值与标准差的代码

精简后的一维数组均值与标准差计算代码

精简版代码

import numpy as np

# 一步完成筛选、类型转换,直接计算均值和标准差
genericInfoSize_float = np.array([float(sz) for sz, typ in zip(messageSize, messageType) if "GENERIC_INFO" in typ])
genericInfo_mean, genericInfo_std = np.mean(genericInfoSize_float), np.std(genericInfoSize_float)
print(genericInfo_mean, genericInfo_std)

高效向量化实现(适用于numpy数组输入)

如果messageType和messageSize本身已是numpy数组,可借助numpy向量化操作进一步优化性能:

import numpy as np

# 转换为numpy数组并生成布尔筛选掩码
msg_type_arr = np.array(messageType)
msg_size_arr = np.array(messageSize, dtype=float)
mask = np.char.find(msg_type_arr, "GENERIC_INFO") != -1

# 直接基于掩码计算均值和标准差
genericInfo_mean, genericInfo_std = msg_size_arr[mask].mean(), msg_size_arr[mask].std()
print(genericInfo_mean, genericInfo_std)

精简说明

  • 合并了索引提取、元素筛选、类型转换三个步骤,大幅减少中间变量
  • 第一种方式通过zip同时遍历两个数组,直接生成转换后的float列表,代码紧凑直观
  • 第二种方式利用numpy的向量化字符操作生成布尔掩码,避免Python层面的循环,处理大数据量时性能更优

内容的提问来源于stack exchange,提问作者Eris Dhroso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:45:52