【问题标题】:Issue while writing/reading a dataframe to csv - in final shape - Python将数据帧写入/读取到 csv 时出现问题 - 最终形状 - Python
【发布时间】:2020-12-07 00:35:30
【问题描述】:

我正在将一个大型数据库读入多个数据帧。每次都有效。所以我有单独的数据框。然后,我将每个数据帧写入一个 csv 文件。最初它有 34 列。 之后,我将 csv 文件读入一个新的数据框,现在我有 35 列。

我这样做是为了写入 csv 文件:

df.to_csv(path + "file_01.csv")

这是为了从中读取:

import pandas as ps
df = ps.read_csv(path + "file_01.csv")

我通过这个来测试他们的列号:

df.shape

为什么会发生这种情况,我该如何改进\使其正常工作?

【问题讨论】:

    标签: python pandas dataframe csv file


    【解决方案1】:

    当您在 pandas 中写入 csv 时,索引列放置在 csv 中数据列的左侧。要从 csv 中删除索引,可以使用 index=False 参数。

    df.to_csv(path + "file_01.csv", index=False)
    

    【讨论】:

      【解决方案2】:

      to_csvindex 参数的默认值为 true,这会导致导出额外的索引列。

      您可以通过df.to_csv(path + "file_01.csv", index=False) 来排除索引列的附加。

      文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html

      【讨论】:

        【解决方案3】:

        根据此处的文档: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html

        to_csv 将写入索引。该索引将作为一个新列工作。 禁用该设置index=false

        【讨论】:

          【解决方案4】:

          正如其他答案已经解释的那样,索引将一起保存在 .csv 文件中。如果索引值很重要需要保存,可以只编辑.read_csv()函数,添加参数index_col = 0

          df = ps.read_csv(path + "file_01.csv", index_col=0)
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-12-25
            • 1970-01-01
            • 2014-01-21
            • 2023-03-28
            • 1970-01-01
            • 1970-01-01
            • 2023-03-08
            • 2016-08-22
            相关资源
            最近更新 更多