在外部文件中写入不同dataframe / np.array的列-Python

时间:2018-07-20 17:16:33

标签: python pandas loops numpy

我堆满了一些应该很容易实现的东西。 我有一个熊猫数据框,其中每一列(总计10000)代表我的x变量。我还有另一个熊猫数据框,它是我的y变量,仅由一列组成。 我想创建外部文件,可以在file0-> [y,x [0]],file1-> [y,x [1]]等中找到。 一开始,我通过串联变量将所有内容放到一个文件中:
new=pd.concat([time['#Time'],lc], axis=1) new.to_csv('simulated_lc.csv', sep=' ',index=False)

但是具有10000列,那么使用数据文件并不是那么实际。

我还尝试了另一种方法:我没有将变量放在数据框中,而是将它们定义为数组。因此,我有一个x变量x [i,j],其中每个i行都是我要与一个一维数组的y变量一起写入i文件的数据集:

for i in range(0,10000):
fname='lc'+str(i)+'.txt'
dataset=[x[i],y]
np.savetxt(fname,dataset)

我唯一的问题是,当我打开文件时,数据没有写成两个单独的列,例如:

0 1
2 3
3 4
...

我该如何解决? 谢谢。

2 个答案:

答案 0 :(得分:0)

如何?

z = x.join(y, lsuffix='L', rsuffix='R')
for i in range(0,1000):
    fname='lc'+str(i)+'.csv'
    z.to_csv(fname, index=i)

答案 1 :(得分:0)

使用双括号切片器pd.concat在整个 X的列循环中仅使用[[...]]

for col in x.columns:
   fname='lc'+str(i)+'.txt'

   dataset = pd.concat([y, x[[col]]], axis=1)
   dataset.to_csv(fname, sep=' ', index=False)