在python的数据框中添加csv文件中的列

时间:2017-12-01 13:38:54

标签: python pandas

我使用writer在python中创建了一个csv文件。我把这个csv文件称为“数据”,它由一列40行组成。然后我在一个新的python脚本中导入这个csv文件,然后创建一个数据帧。但是,在我的新数据框中,我想将这四十个数据点分成4列,每列10行。到目前为止我所尝试的是以下内容:

    data=pandas.read_csv("location/data.csv", header=None)
    frame=pandas.DataFrame(data[:10])
    frame['second column']=data[10:20]

这会在数据框“frame”中创建一个名为“second column”的新列,但所有条目都是NAN。似乎python无法从csv文件中识别这些条目。任何帮助将非常感激。下面是我用来创建csv文件的代码:

    Var1="data"
    with open(Var1,"ab") as output:
           writer=csv.writer(output, lineterminator='\n')
           for val in variable:
                writer.writerow([val])

有了这个,我基本上将数组“变量”的值保存在一个单独的csv文件中。

1 个答案:

答案 0 :(得分:1)

这不是最优雅的解决方案,但我认为它确实解决了您的问题。

import numpy as np
import pandas as pd

x = list(range(0, 40))
data = pd.DataFrame(x, columns=["A"])
arr = data.as_matrix()

data = pd.DataFrame(arr.reshape((10, 4), order="F"),
                    columns=['A', 'B', 'C', 'D'])

要更改重新设定的data中的排序,只需将order参数从"F"更改为"C"即可。