我使用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文件中。
答案 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"
即可。