pandas:dataframe到_csv,如何设置列名

代码段:

将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']))

发表评论