为了账号安全,请及时绑定邮箱和手机立即绑定

python 中两个嵌套 for 循环的结果保存列表的正确位置是什么?

python 中两个嵌套 for 循环的结果保存列表的正确位置是什么?

胡说叔叔 2023-11-09 22:22:54
迭代必须从p =1 开始,然后,第二个 for 循环必须对r范围内的所有值求和。第二次循环完成后,我想将结果保存在列表的第一个元素(ap)中。然后,p = 2并且重复该过程,并且a的新值必须将其保存在列表ap的第二个元素中...依此类推我正在尝试使用一个数据框,我已经知道结果会是什么,这就是为什么我知道我的代码正在做另一件不同的事情。我猜ap列表的位置不正确?我是否必须尝试使用 pandas 中的 Series 或使用 Numpy 的数组?感谢您的帮助 m=12    n=6    ap=[]        for p in range(1,n):        for r in range(-n,n):            a = a + (1/n)*((data3.loc[r].iat[1])*(np.cos((2*(np.pi)*p*r)/m)))            ap  += [a]                #?            #?
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

我们可以使用函数和生成器表达式重新组织您的代码,使其更加整洁。另外你的公式似乎有一堆不必要的括号。


m = 12

n = 6

ap = []


def calculate(p, r):

    return (1/n) * data3.loc[r].iat[1] * np.cos(2*np.pi * p * r) / m


for p in range(1, n):

    a = sum(calculate(p, r) for r in range(-n, n))

    ap.append(a)

这将创建一个ap长度列表n-1


查看完整回答
反对 回复 2023-11-09
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信