我当前的代码:
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)
我希望我的输出看起来像这样:
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”创建为行而不是列进行一些更改。
答案 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