gpt4 book ai didi

python - 计算不同文件的平均单元格值

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:20 25 4
gpt4 key购买 nike

从大约 50000 个具有大约 100 万个值(所有数字)的非结构化文本文件中,我需要计算每个单元格的平均值,即所有 50000 个文件的平均值。

文件结构例如

4.7  3.9  5.9  6.2  6.6   6.6   6.5  4.7  5.5  11.2 
21.9 12.4 5.6 4.5 5.8 6.7 5.4 3.6 3.9 0.7 0.8

我需要所有文件的平均值,对于每个单元格位置。

例如,我需要文本文件中所有第一个元素的平均值,超过所有 50.000 个文本文件(但不仅是第一个元素,而且是所有元素)。

知道如何在 R 或 Python 中执行此操作吗?

已编辑:附加示例(非常非常简化) enter image description here

我想根据文件 1、文件 2 和文件 3 中的单元格值计算新文件 (MEAN) 中的平均值,如下面的链接所示。但是,它应该是一个自动脚本,因为它不是 3但是每个文件中有 50.000 个文件和许多 100,000 个值。

最佳答案

在 python 中,我会建议一个简单的方法,希望我能得到你。
您可以获取所有文件,然后遍历它们以将所有空格分隔的数字放入列表中。所有这些列表将存储在另一个列表中以转换为矩阵,易于使用 numpy 管理。
这里我给大家举个例子。

  • 0.将所有文件放在同一个目录下,比如fdir
  • >1.获取所有文件名

    import os
    flist = os.listdir(fdir)

  • >2. 现在遍历文件列表。假设文件中的格式化位置并不重要,而只是序数序列(即第一、第二……不是左上角、右上角……)。

    import numpy as np
    numbers = [] #list of files numbers lists
    for text in flist:
    with open(filename,'r') as f:
    ftext = f.read().split() #the file has only space-separated numbers
    ftext = [float(n) for n in ftext]
    numbers.append( np.array( ftext ) )

  • >4.将列表列表转换成矩阵

    numbers = np.vstack(numbers)

  • >5.做你的操作..
    例子:
    对每个文件的第一个单元格求和,意思是对后一个矩阵的第一列求和,所以:

    sum_over_first_cells = np.sum( numbers[:,0] )

  • 希望对您有所帮助。

    关于python - 计算不同文件的平均单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50862015/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com