将标题/列添加到我的.csv文件

时间:2018-08-21 18:45:47

标签: python pandas

我当前的代码:

file='filelocation.sav'
finalfile = 'filelocation.csv'

s=spio.readsav(file, python_dict=True, verbose=True)
amf=np.asarray(s["amf"])

d=[amf]
df=pd.DataFrame(data=d)
df=df.T
df.to_csv(finalfile,sep= ' ', encoding = 'utf-u', header=True)

This is my current output

我希望我的输出看起来像这样:

   amf
0  6.685
1  6.84
2  7.0
3  7.16
4  7.33
5  7.51
6  7.70

等基本上,我希望标题与它表示的数据对齐,以便我可以正确地调用所述数据并进行绘图。

我注意到的另一个问题是,当我用

询问jupyter时
file.columns

告诉我索引,我得到了以下输出:

Index([u' 0 1 2 3 4 5 6'], dtype='object)

这使我相信,当我想要7个特定索引(包括“ 0”)时,只考虑了一个索引。


在这里编辑过去:

所以:看来我遇到的另一个问题是,尽管我打算拥有的行数的长度约为87000,但它显示为具有87000列。

看起来我需要对我的数组“ amf”创建为行而不是列进行一些更改。

1 个答案:

答案 0 :(得分:0)

问题是您将amf放在括号df=[amf]之间,使其成为数组列表,例如将其更改为df=amf

data = [np.array([6.685, 6.84, 7.0, 7.16, 7.33, 7.51, 7.70])]
result = pd.DataFrame(data=data)
print(result.shape)

返回:(1, 7),即1列7行,但是:

data = np.array([6.685, 6.84, 7.0, 7.16, 7.33, 7.51, 7.70])
result = pd.DataFrame(data=data)
print(result.shape)

返回(7, 1),还需要设置DataFrame的列:

import numpy as np
import pandas as pd

data = np.array([6.685, 6.84, 7.0, 7.16, 7.33, 7.51, 7.70])
result = pd.DataFrame(data=data, columns=['amf'])
print(result)

输出:

   amf
0    1
1    2
2    3
3    4
4    5
5    6