在.txt文件中以列形式保存float数组



我有15个浮点数数组(130 x 150),分别称为(a,b,c,d,…,q)。我想把这些保存到一个叫array。txt的txt文件中。格式应为15列19500行,其中数组a占据整个第一列,b占据第二列,等等。每个数组中的元素应该逐行选取。

有人能帮我一下吗?我该怎么做呢?我在考虑为数组的每个元素使用15个for循环,但我认为这并不聪明,可能有更好的方法。

谢谢。

import numpy as np
import pandas as pd
a = [1,2,3,4,5]
b = [6,7,8,9,10]
c = [11,12,13,14,15]
l = zip(a,b,c)
df = pd.DataFrame(l, columns=["a","b","c"])
np.savetxt(r'array.txt', df.values, fmt='%f')

这将组合列表"a"," "one_answers";c"并将它们写入名为array。txt

的文本文件中

我通常也建议使用Pandas进行这些操作,但如果需要使用Numpy,您可以尝试这样做:

import numpy as np
import pandas as pd
# Set up dummy-problem
data = {key: np.random.random((130, 150)) for key in "ABCDEFGHIJKLMNOPQ"}
# You would probably create a list containing the variables [a, b, c, ..., q]
# Concatenate results and save data
result = np.concatenate([a.flatten("F")[:, None] for a in data.values()], axis=1)
np.savetxt("data.txt", result)
# PS! To read as a Pandas DataFrame, use
pd.DataFrame({key: a.flatten("F") for key, a in data.items()})

最新更新