循环python中数组的元素总和

时间:2017-06-29 15:47:50

标签: python csv pandas

我正在尝试创建一个读取某些数组的循环,然后计算数组的元素总和。为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)

结果不正确。有提示吗?

编辑: 求助答案如下:

2 个答案:

答案 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)