由于 python 中的两个嵌套 for 循环,保存列表的正确位置是什么?
What is the correct position for saving a list as a result of two nested for loops in python?
迭代必须从p =1开始,然后,第二个for循环必须对r范围内的所有值求和.第二个循环完成后,我想将结果保存在列表的第一个元素 (ap) 中。然后,p= 2 重复该过程,a 的新值必须保存在列表 ap 的第二个元素中...等等
我正在使用一个我已经知道结果是什么的数据框来尝试这个,这就是为什么我知道我的代码正在做另一件不同的事情。我猜 ap 列表的位置不正确?
我是否必须尝试使用 pandas 中的系列或使用 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]
#?
#?
我们可以使用函数和生成器表达式重新组织您的代码,使其更加整洁。另外你的公式似乎有一堆不必要的括号。
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
迭代必须从p =1开始,然后,第二个for循环必须对r范围内的所有值求和.第二个循环完成后,我想将结果保存在列表的第一个元素 (ap) 中。然后,p= 2 重复该过程,a 的新值必须保存在列表 ap 的第二个元素中...等等
我正在使用一个我已经知道结果是什么的数据框来尝试这个,这就是为什么我知道我的代码正在做另一件不同的事情。我猜 ap 列表的位置不正确? 我是否必须尝试使用 pandas 中的系列或使用 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]
#?
#?
我们可以使用函数和生成器表达式重新组织您的代码,使其更加整洁。另外你的公式似乎有一堆不必要的括号。
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