我有一个大的.txt文件,我想把每一列作为一个列表来阅读。文件有9列带分隔符的浮点,第一行(几千行)是:
0.49406565E-323 0.29532530E+003 0.89244837E+001 0.20901651E-002 0.34989878E+001 0.11594090E+000 0.34025716E-001 0.33723126E+001 0.27954433E+000 0.80757378E-001 0.50813056E+001
我是这样读我的文件的:
colnames = ['weight', 'likelihood', 'A_0', 'w_0', 'p_0', 'A_1', 'w_1', 'p_1', 'A_2', 'w_2', 'p_2']
data = pandas.read_csv('data.txt', names=colnames)
weights = data.weight.tolist()
A_0 = data.A_0.tolist()
第一列是权重,其余的是参数,我想对所有参数的权重进行加权平均计算。你知道吗
但是如果我打印weights
,它返回整个文件,weights[0]
是文件的第一行。你知道吗
完成时,我的加权平均值如下:
weighted_A_0 = numpy.average(A_0, weights=weights)
也许有一个更整洁的方式与熊猫和numpy?你知道吗
谢谢!你知道吗
由于没有向
read_csv
函数传递任何分隔符,因此它将逗号作为默认分隔符。您的文件data.txt
不包含任何逗号,因此它将整个数据放入第一列(权重)。你知道吗默认情况下
pd.read_csv
查找逗号分隔的,但是可以使用sep
参数指定分隔符,例如:对于tab-separated-有帮助吗?你知道吗
最终:
原来它是
' '
分隔的,所以我们用相关问题 更多 >
编程相关推荐