【问题标题】:Pandas non correct saving to CSVPandas 不正确保存到 CSV
【发布时间】:2019-09-22 05:59:50
【问题描述】:

我有 CSV 文件:

lang
12345,it
77777,en

第一行是标题。我的表有一列lang。在接下来的每一行中都有两个值:索引和该索引的值。

当我阅读 pd.read_csv(path) 的 Pandas 表格时,我得到了下一个 DataFrame 结构:

      lang
12345   it
77777   en

但是,当我通过 df.to_csv(path) 将其保存回 CSV 时,我的 CSV 文件中的标题之前的 , 变得多余:

,lang
12345,it
77777,en

看起来熊猫处理这个逗号就像处理未命名的列,当我下次阅读这个文件时,我得到这个DataFrame结构:

   Unnamed: 0 lang
0       12345   it
1       77777   en

但我想将第一列保存为索引,而其他列则为普通列。如何使用第一列中的索引保存DataFrame

【问题讨论】:

  • df = pd.read_csv('test.csv', index_col=0) 设置您的index_col

标签: python pandas csv


【解决方案1】:

第一行模仿您的 df 示例,其中 12345 在索引中。然后我将其保存为普通的 csv。读回后,只需将index_col=0 设置为指向pandas 以读取位置0 处的列作为索引。

df.set_index(df.columns[0],inplace=True)

df.to_csv('test.csv')
df_new = pd.read_csv('test.csv', index_col=0)

【讨论】:

  • 我只能强调你只能使用set_index(df.columns[0], inplace=True)index_col=0中的一种方式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 2022-11-19
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
  • 2019-11-13
相关资源
最近更新 更多