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

如何将Pandas Series转换为均值10、标准差2的序列?

实现Pandas Series均值为10、标准差为2的转换

首先纠正你代码里的小错误:Pandas创建Series的正确写法是pd.Series()(首字母大写),不能直接给pd.series赋值,正确的初始化代码应该是:

import pandas as pd

s = pd.Series([1.01, 2, 1.2, 3.1, 4.32, 1.23, 8.21, 4.2, 1.3, 2.3, 3.3, 5.2, 4.8, 4.2, 5.98, 6.1, 2.9, 4.12, 4.78, 5.56, 5.21])

接下来要实现目标转换,核心思路是先把原序列标准化(转成均值为0、标准差为1的序列),再按目标均值和标准差做线性缩放,具体公式为:
转换后的值 = (原序列值 - 原均值) / 原标准差 * 目标标准差 + 目标均值

直接上代码实现:

# 计算原序列的均值和标准差
original_mean = s.mean()
original_std = s.std()

# 定义目标参数
target_mean = 10
target_std = 2

# 执行转换
transformed_s = (s - original_mean) / original_std * target_std + target_mean

最后可以验证转换结果:

print("转换后均值:", transformed_s.mean())
print("转换后标准差:", transformed_s.std())

输出会接近10和2(浮点数计算可能存在微小误差)。

这种方法能保留原序列的分布形态,仅做线性缩放,不会改变数据的相对关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:04:54