Python:找到最大值

2024-09-29 01:31:51 发布

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

我有一个系列

reg_s_lag
Out[71]: 
X1             1.0
X2             1.0
X3             13.0
X4             13.0
X5             16.0
X6             2.0
X7             16.0
X8             16.0
X9             16.0
X10            2.0
Name: max_pos_arg, dtype: float64

我想要一个新的数列,这样所有的值都以2.0为下限。也就是说,将X1和X2转换为2.0,同时保持所有其他元素不变。我该怎么做? 这不起作用:

max(reg_s_lag, 2)

Tags: nameregoutmaxlagx1x2x10
1条回答
网友
1楼 · 发布于 2024-09-29 01:31:51

以下代码将替换所有小于阈值的值:

import pandas as pd

data = {
    "X1": 1.0,
    "X2": 1.0,
    "X3": 13.0,
    "X4": 13.0,
    "X5": 16.0,
    "X6": 2.0,
    "X7": 16.0,
    "X8": 16.0,
    "X9": 16.0,
    "X10": 2.0
}

threshold = 2.0
reg_s_lag = pd.Series(data)
reg_s_lag[reg_s_lag<threshold] = threshold
print(reg_s_lag)

输出:

X1      2.0
X2      2.0
X3     13.0
X4     13.0
X5     16.0
X6      2.0
X7     16.0
X8     16.0
X9     16.0
X10     2.0
dtype: float64

这里我使用了threshold = 2.0

相关问题 更多 >