我是Python新手。我用Fortran生成我想读的数据文件。出于许多原因,我希望使用python来计算数据的平均值和统计数据,而不是fortan。在
我需要将前三行中的条目作为字符串读取,然后将从第四行开始的数据读取为数字。我不需要第一列,但我需要其余的列作为它们自己的数组。在
# Instantaneous properties
# MC_STEP Density Pressure Energy_Total
# (molec/A^3) (bar) (kJ/mol)-Ext
0 0.34130959E-01 0.52255964E+05 0.26562549E+04
10 0.34130959E-01 0.52174646E+05 0.25835710E+04
20 0.34130959E-01 0.52050492E+05 0.25278775E+04
数据会持续数千行,有时甚至数百万行。在
我尝试过下面的方法,但是遇到了一些问题,因为我无法分析我所生成的列表,而且似乎也无法将它们转换为数组。不过,我更希望一开始就创建数组,但是如果我能将我的列表转换成数组,那也可以。在我的方法中,当我试图使用列表中的一个元素时,我得到了一个错误,即能量(I)
^{pr2}$谢谢你的帮助!在
我将使用熊猫模块完成此任务:
数据帧:
^{pr2}$所有列的平均值:
您还可以使用csv模块的DictReader将每一行读入字典,如下所示:
当然,这假设文件的格式更像CSV(即没有注释)。如果文件顶部确实有注释,可以在初始化DictReader之前跳过注释,如下所示:
^{pr2}$您可以考虑Python中的
list
,就像其他语言中的array
,它是非常优化的。如果您有一些特殊的需要,有一种数组类型可供使用,但很少使用,或者是为科学计算而设计的numpy.array
;您必须为此安装Numpy包。在在执行计算之前,将字符串转换为浮点,如
energy.append(float(row[3]))
{cd5>立即使用函数:
最后,如@Hamms所说,通过使用方括号
e = energy[i]
访问元素相关问题 更多 >
编程相关推荐