【发布时间】:2022-01-10 08:30:06
【问题描述】:
我创建了一个 for 循环,我想进一步简化我的循环。这些是我为我的 for 循环编写的代码:
for i in range(0,len(df.index)):
reported_claims.iloc[i,(i+1)-1] = df.iloc[i, 1] * df.iloc[i, 2] * chance[0]
reported_claims.iloc[i,(i+2)-1] = df.iloc[i, 1] * df.iloc[i, 2] * chance[1]
reported_claims.iloc[i,(i+3)-1] = df.iloc[i, 1] * df.iloc[i, 2] * chance[2]
我尝试了 2 种方法来简化我的 for 循环:
n = 1
j = 0
for i in range(0,len(df.index)):
reported_claims.iloc[i,(i+n)-1] = df.iloc[i, 1] * df.iloc[i, 2] * chance[j]; n+=1; j+=1
for i in range(0,len(df.index)):
for j in range(0,len(chance)):
for n in range(1,4):
reported_claims.iloc[i,(i+n)-1] = df.iloc[i, 1] * df.iloc[i, 2] * chance[j]
但我收到的输出与我原来的不匹配:
谁能告诉我如何简化我原来的 for 循环?非常感谢您的帮助!
【问题讨论】: