【问题标题】:additional column when saving pandas data frame to csv file将熊猫数据框保存到 csv 文件时的附加列
【发布时间】:2017-01-04 05:34:11
【问题描述】:

这里是处理和保存 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

【问题讨论】:

标签: python python-2.7 csv pandas dataframe


【解决方案1】:

附加列对应于数据框的索引,并在您读取 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 保存数据帧时将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)

希望对你有帮助:)

【讨论】:

  • 很高兴。祝你有美好的一天@LinMa
猜你喜欢
  • 1970-01-01
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
  • 2022-09-25
  • 2017-08-02
  • 2018-02-08
  • 2017-06-13
相关资源
最近更新 更多