代码段:
将numpy导入为np
作为pd进口熊猫
myseries=pd.Series(np.random.randn(5))
df=pd.DataFrame(myseries)
df.to_csv(“output.csv”)
输出:
0
0 0.51..
1 0.14..
2 -0.68..
3 0.48..
4 1.89..
我希望列名为“values”,而不是0。我该怎么做?
我想我应该用df.to_csv(“output.csv”,columns=[“values”])替换最后一条语句。但我得到了关键错误:
u“所有['value']]都不At[列]on”
我不知道那是什么意思
[更新]
很多答案都说我应该使用df.columns=['values']。嗯,这对我不起作用。我不仅关心数据帧是什么样的,还关心csv文件是什么样的。数据帧看起来正常,但csv文件不正常。这是令人困惑的部分
。。。
df.columns=[“值”]
df.to_csv(“output.csv”)
它说:IOError:[Errno 13]权限被拒绝:“output.csv”
然后我使用绝对路径“C:\Users\myname\Desktop\output.csv”,错误如下:IOError:[Errno 13]权限被拒绝:'C:\\Users\\myname\\Desktop\\output.csv'
我不知道为什么会出现这种错误,但这相当令人困惑。
为了进一步了解,我在win10上安装了anaconda-2.7。我用spyder测试了代码
您可以在DataFrame构造函数中设置列名:
df=pd.DataFrame(myseries,columns=[‘values’])
df.to_csv(“output.csv”)
或:
df=pd.DataFrame({'values':myseries})
打印(df)
价值观
0 -0.429758
1 -0.019931
2 1.189596
3 1.309223
4 -0.337061
df.to_csv(“output.csv”)
或者将数据帧中的参数标题设置为\u csv:
df=pd.DataFrame(myseries)
df.to_csv(“output.csv”,header=['values']))
或在系列中。到\u csv:
myseries.to_csv(“output.csv”,header=['values']))