【问题标题】:Python pandas.DataFrame.from_csvPython pandas.DataFrame.from_csv
【发布时间】:2014-10-14 14:33:03
【问题描述】:

该任务是一个非常简单的数据分析,我使用 api 下载报告,它以 csv 文件的形式提供。我一直在尝试使用以下代码将其正确转换为 DataFrame:

@staticmethod
    def convert_csv_to_data_frame(csv_buffer_file):
        data = StringIO(csv_buffer_file)
        dataframe = DataFrame.from_csv(path=data, index_col=0)
        return dataframe

但是,由于 csv 内部没有索引,我需要的数据的第一列被数据框忽略,因为它被认为是索引列。 我想知道是否有办法让数据框自动插入索引列。

【问题讨论】:

  • 你试过dataframe = DataFrame.from_csv(path=data, index_col=None)吗?
  • 是的,默认是0。
  • 这与None 不一样尝试删除参数,此时您告诉 pandas 第一列是索引,但您说您的 csv 都没有这样的列
  • 你是对的,就像一个魅力,非常感谢你。我如何将你的答案标记为正确的?
  • 我已添加为答案,您可以通过勾选投票按钮下方的勾号来接受,您也可以投票;)

标签: python pandas dataframe


【解决方案1】:

您的错误是假设参数 index_col=0 意味着它不会将您的 csv 视为具有索引列。这应该是index_col=None,实际上这是默认值,所以你可以不指定它并且它会起作用:

@staticmethod
    def convert_csv_to_data_frame(csv_buffer_file):
        data = StringIO(csv_buffer_file)
        dataframe = DataFrame.from_csv(path=data) # remove index_col param
        return dataframe

更多信息请咨询docs

【讨论】:

    猜你喜欢
    • 2014-12-17
    • 2010-11-24
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    相关资源
    最近更新 更多