将多个不同大小的数组写入文本文件

时间:2017-09-07 11:22:42

标签: python numpy

我有以下问题:

我需要编写一定数量的数组,这些数组的行数相同,但文本文件的列数不同。除了检查每个数组之外,还有其他方法,它具有哪个dimesnion然后将每个条目写入文本文件?

我试过这样的事情:

def WriteResultToTxt(X,Y):

    f = open('Test.txt','w')
    Z = zip(X,Y)
    np.savetxt(f,Z)
    f.close

当我尝试这个时:

x = np.arange(0,200,1).reshape((100,2))
y = np.arange(0,50,0.5).reshape((100,1))
WriteResultToTxt(x,y)

我得到'元组索引超出范围'错误

1 个答案:

答案 0 :(得分:1)

最简单的就是使用熊猫。

import pandas as pd
import numpy as np
x = np.arange(0,200,1).reshape((100,2))
y = np.arange(0,50,0.5).reshape((100,1))
pd.concat([pd.DataFrame(x), pd.DataFrame(y)], axis=1).to_csv('foo.csv')

首先连接两个数组,然后导出为CSV。通过指定axis=1,串联将是列式的;一个在另一个旁边,而不是按行。