我有一个简单的3列numpy数据,我打算用pandas
写入CSVX = ([[ 0.63929417, 0.71804657, 0.62530184],
[ 0.91736598, 0.42696823, 0.36432443],
[ 0.34529593, 0.98629196, 0.19780149],
[ 0.24696517, 0.62660763, 0.25418833],
[ 0.63404232, 0.70276032, 0.88243513],
[ 0.40073419, 0.93373199, 0.28116287],
[ 0.43908317, 0.66116296, 0.33441886],
[ 0.62667038, 0.88563705, 0.33575855],
[ 0.24745741, 0.35070823, 0.59614696],
[ 0.50416922, 0.79734483, 0.48907875]])
最后两行似乎都没有在CSV中写下列标签。
df = pd.Dataframe(X.values)
df.to_csv('test.csv', cols=['First','Second','Third'])
df.to_csv('test.csv',header=['First','Second','Third'])
答案 0 :(得分:3)
在写df:
之前,您需要设置列名称df = pd.Dataframe(X.values)
df.columns = ['First','Second','Third']
df.to_csv('test.csv')
cols
被删除,并由columns
替换,并允许您选择要写入的列。
header
是True还是False,让您选择是否写入标题(即列名称)。 [编辑:它实际上也正如joris所说,也许不是你的熊猫版本]
edit2:如果您的pandas为0.8.0或更高,那么您的第二个解决方案应该可行。
答案 1 :(得分:0)
不确定您使用的是哪个版本,但以下版本适用于最新版本:
df.to_csv(r'c:\data\sample.csv', header=['First','Second','Third'])
cols
param选择已存在的列,以便无法查看文档:{{3}}
来自文档:
列:序列,可选的要写入的列
header:布尔值或字符串列表,默认为True Write out列 名。如果给出了一个字符串列表,则假定它是别名 列名