繁体   English   中英

将pandas数据帧保存到csv文件时的附加列

[英]additional column when saving pandas data frame to csv file

这里是处理和保存csv文件的代码,以及原始输入csv文件和输出csv文件,在Python 2.7上使用pandas并想知道为什么在保存文件时会有一个额外的列? 谢谢。

c_a,c_b,c_c,c_d
hello,python,pandas,0.0
hi,java,pandas,1.0
ho,c++,numpy,0.0

sample = pd.read_csv('123.csv', header=None, skiprows=1,
    dtype={0:str, 1:str, 2:str, 3:float})
sample.columns = pd.Index(data=['c_a', 'c_b', 'c_c', 'c_d'])
sample['c_d'] = sample['c_d'].astype('int64')
sample.to_csv('saved.csv')

这是保存的文件,开头有一个附加列,其值为0, 1, 2

cat saved.csv
,c_a,c_b,c_c,c_d
0,hello,python,pandas,0
1,hi,java,pandas,1
2,ho,c++,numpy,0

附加列对应于数据帧的索引,并在读取CSV文件后进行聚合。 您可以使用此索引以有效的方式对DF进行切片,选择或排序。

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.html

http://pandas.pydata.org/pandas-docs/stable/indexing.html

如果要避免使用此索引,可以在使用函数pd.to_csv保存数据pd.to_csv时将index标志设置为False 此外,您要删除标题并稍后将其聚合,但您可以使用CSV标题来避免此步骤。

sample = pd.read_csv('123.csv', dtype={0:str, 1:str, 2:str, 3:float})
sample.to_csv('output.csv', index= False)

希望能帮助到你 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM