Python 将输出转换为numpy数组

Python 将输出转换为numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我面临以下问题。我有4个数据文件(data_1…data_4),我正在尝试获取第2列中小于或等于5的项目数。我下面的代码完成了这项工作 import numpy as np filelist=[] for i in list(range(1,5)): filelist.append("/Users/Hrihaan/Desktop/Data_%s.txt" %i) for fname in filelist: data=np.loadtxt(fname) z=data[:,

我面临以下问题。我有4个数据文件(data_1…data_4),我正在尝试获取第2列中小于或等于5的项目数。我下面的代码完成了这项工作

import numpy as np
filelist=[]
for i in list(range(1,5)):
    filelist.append("/Users/Hrihaan/Desktop/Data_%s.txt" %i)
for fname in filelist:
    data=np.loadtxt(fname)
    z=data[:,1]
    count= len([i for i in z if i <= -5]) # output 5 3 0 9
    x= np.array(count)
    Average=np.mean(x)
    print(Average)
将numpy导入为np
文件列表=[]
对于列表中的i(范围(1,5)):
filelist.append(“/Users/Hrihaan/Desktop/Data\u%s.txt”%i)
对于文件列表中的fname:
data=np.loadtxt(fname)
z=数据[:,1]

count=len([i代表z中的i如果i则不为循环中的每个循环创建数组,而是首先创建一个列表,并在循环完成后将此列表转换为数组

import numpy as np
filelist=[]
for i in list(range(1,5)):
    filelist.append("/Users/Hrihaan/Desktop/Data_%s.txt" %i)

counts = []
for fname in filelist:
    data=np.loadtxt(fname)
    z=data[:,1]
    count= len([i for i in z if i <= -5]) # output 5 3 0 9
    counts.append(count)

x = np.array(counts)
Average=np.mean(x)
print(Average)
将numpy导入为np
文件列表=[]
对于列表中的i(范围(1,5)):
filelist.append(“/Users/Hrihaan/Desktop/Data\u%s.txt”%i)
计数=[]
对于文件列表中的fname:
data=np.loadtxt(fname)
z=数据[:,1]

count=len([i代表z中的i,如果i我不确定我是否理解您的要求,并且您的代码无法复制,因为我们没有您的文件

但如果我理解正确,您应该从代码中删除
len()

for fname in filelist:
    #...
    count = [i for i in z if i <= -5]
    count = [5, 3, 0, 9] # for instance
    x = np.array(count) # x will output: array([5, 3, 0, 9])
    Average = np.mean(x) 
    print(Average) # will print: 4.25
对于文件列表中的fname:
#...

count=[i for i in z如果我看起来需要在
for frname
循环的列表中累积
count
,然后将其转换为循环外/后的数组(删除缩进)非常感谢,我以前使用过这个过程,尝试在循环中进行某些操作。@Hrihaan我认为这是接近您想要的最佳答案。您的循环每一步只能得到一个计数,您不能平均循环中的一个值。您必须先收集所有计数,然后进行平均运算。谢谢,但要减少len()将基本上给我该列中小于或等于-5的所有值,我只需要满足该标准的值的计数,并根据4个单独数据文件的计数创建输出。我回答中的重要部分是“您的代码无法复制”)。此外
len()
将始终返回一个
int
afaik,因此代码中的注释不清楚。@M472的答案可能就是您想要的答案。