我正在尝试创建一个读取某些数组的循环,然后计算数组的元素总和。为2个数组执行此操作的函数是numpy.add。就我而言,我想构建一个循环来为超过3个数组执行此操作。
e.g。 file_1,file_2和file_3是数组:[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]] < / p>
我的代码:
import pandas as pd
# load files
x1 = pd.read_csv('file_1.csv')
x2 = pd.read_csv('file_2.csv')
x3 = pd.read_csv('file_3.csv')
# Calculate the sum of these arrays.
X = x1 + x2 + x3
以上工作正常。 目标:制作一个完成上述任务的循环。
尝试:
n=4
for i in range(1,n):
x = pd.read_csv('file_{}.csv'.format(i),header=None)
print(x)
x += x
print(x)
结果不正确。有提示吗?
编辑: 求助答案如下:
答案 0 :(得分:0)
我很确定我们可以在文件中读取多行,如下例所示,请尝试一下。
from itertools import izip
for lines_from_firstfile, lines_from_secondfile, lines_from_third_file
in izip(open(firstfile), open(secondfile), open(thirdfile):
所以用上面的方法打开你的3个文件,然后尝试添加值,即x1 + x2 + x3
答案 1 :(得分:0)
解决
import pandas as pd
from numpy import *
def my_mean():
N=array([[0,0],[0,0]])
numb = 4
subjs=range(1,numb)
for s in subjs:
X= pd.read_csv('file_{}.csv'.format(s),header=None)
N += X
N = N / float(3)
return N
X = my_mean()
print(X)