gpt4 book ai didi

python - 在Python中创建(空格分隔的)文本文件的列(或行)数组

转载 作者:行者123 更新时间:2023-12-01 07:22:51 35 4
gpt4 key购买 nike

我见过类似的问题,但答案总是给出行字符串。我想制作文本文件的列数组。我有一个像这样的文本文件(有一个文本文件看起来像这样,但有 106 行和 19 列):

O2     CO2     NOx     Ash     Other
20.9 1.6 0.04 0.0002 0.0
22.0 2.3 0.31 0.0005 0.0
19.86 2.1 0.05 0.0002 0.0
17.06 3.01 0.28 0.006 0.001

我希望有列数组(所有列的二维数组或每列的一维数组),并且第一行仅用于名称,因此第一行的列表。因为我想稍后绘制它们。

所需的结果例如是一列:

   array([0.04,
0.31 ,
0.05,
0.28 ], dtype=float32)

第一行:

   species= ['O2','CO2','NOx','Ash',' Other']

最佳答案

我建议不要手动循环大型数据集中的值(在这种情况下是一种制表符分隔的关系模型)。只需使用 NumPy 等安全且知名的库的方法即可:

import numpy as np

data = np.transpose(np.loadtxt("/path/to/file.txt", skiprows=1, delimiter="\t"))

使用内部 loadtxt 读取文件,并使用 skiprows=1 参数跳过第一行(列名称),以避免不兼容的数据类型和进一步转换。如果您需要同一结构中的这一行,只需在索引 0 处插入一个新行。然后您需要转置矩阵,NumPy 中也有一个安全的方法。我只是使用 loadtxt 的输出(这是每行的列表列表)作为 transpose 的输入来给出一行。但最好分开使用它们,以避免“火车失事”,并且还能够看到其间发生的情况并最终纠正不需要的结果。

PS:必须调整delimiter参数以匹配原始文件中的参数。检查loadtxt文档以获取更多信息。我认为它是一个 TAB。 @KostasCharitidis - 感谢您的留言

关于python - 在Python中创建(空格分隔的)文本文件的列(或行)数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57604804/

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