数组结果中的条件
Condition in array results
我是 python 的新手,所以,我的问题很简单。
我有一个线性回归,我的 ypred returns 对我来说是这样的数组
yPre2_pred = regressaoPre2.predict(XPre2_test)
ddf2 = pd.DataFrame({'Realizado': yPre2_test, 'Resultado do modelo': yPre2_pred, 'Variação':
yPre2_pred / yPre2_test -1 })
r_sq = regressaoPre2.score(xPre2, yPre2)
r_sqmodelo = regressaoPre2.score(XPre2_test, yPre2_test)
print(ddf2)
Realizado Resultado do modelo Variação
43 211.33 279.505979 0.322604
49 125.84 88.377950 -0.297696
62 55.57 44.049949 -0.207307
51 39.68 11.281662 -0.715684
32 473.58 408.446098 -0.137535
34 123.92 211.493634 0.706695
29 441.96 311.487298 -0.295214
46 317.28 309.504595 -0.024506
11 122.19 162.888449 0.333075
2 37.73 -103.208499 -3.735449
26 40.16 73.811614 0.837939
60 240.40 184.092869 -0.234223
4 88.98 -24.397806 -1.274194
我需要“如果“resultado modelo”(yPre2_pred)低于 40,则将 40 添加到结果中。
如何获取?
以下代码段应向“Resultado do modelo”列的每个单元格添加 40,其原始值低于 40:
for i, value in enumerate(ddff2["Resultado do modelo"]):
if value < 40:
ddff2.at[i, "Resultado do modelo"] = value + 40
您还可以使用带有 lambda 函数的 .apply()
方法来修改数据框。
对于列 Resultado do modelo 的每个单元格值 x
,如果 x<40
或 return x
,则将 40 添加到 x。
ddff2["Resultado do modelo"].apply(lambda x: x+40 if x<40 else x)
我是 python 的新手,所以,我的问题很简单。
我有一个线性回归,我的 ypred returns 对我来说是这样的数组
yPre2_pred = regressaoPre2.predict(XPre2_test)
ddf2 = pd.DataFrame({'Realizado': yPre2_test, 'Resultado do modelo': yPre2_pred, 'Variação':
yPre2_pred / yPre2_test -1 })
r_sq = regressaoPre2.score(xPre2, yPre2)
r_sqmodelo = regressaoPre2.score(XPre2_test, yPre2_test)
print(ddf2)
Realizado Resultado do modelo Variação
43 211.33 279.505979 0.322604
49 125.84 88.377950 -0.297696
62 55.57 44.049949 -0.207307
51 39.68 11.281662 -0.715684
32 473.58 408.446098 -0.137535
34 123.92 211.493634 0.706695
29 441.96 311.487298 -0.295214
46 317.28 309.504595 -0.024506
11 122.19 162.888449 0.333075
2 37.73 -103.208499 -3.735449
26 40.16 73.811614 0.837939
60 240.40 184.092869 -0.234223
4 88.98 -24.397806 -1.274194
我需要“如果“resultado modelo”(yPre2_pred)低于 40,则将 40 添加到结果中。
如何获取?
以下代码段应向“Resultado do modelo”列的每个单元格添加 40,其原始值低于 40:
for i, value in enumerate(ddff2["Resultado do modelo"]):
if value < 40:
ddff2.at[i, "Resultado do modelo"] = value + 40
您还可以使用带有 lambda 函数的 .apply()
方法来修改数据框。
对于列 Resultado do modelo 的每个单元格值 x
,如果 x<40
或 return x
,则将 40 添加到 x。
ddff2["Resultado do modelo"].apply(lambda x: x+40 if x<40 else x)