【问题标题】:How can I create index for python pandas dataframe?如何为 python pandas 数据框创建索引?
【发布时间】:2020-04-19 16:06:04
【问题描述】:

我正在使用 Jupyter notebook 和 pandas 将几个 csv 文件导入 python,其中一些是在没有适当索引列的情况下创建的。而是使用第一列,即我需要操作的数据。如何创建常规索引列作为第一列?这似乎是一件小事,但我在任何地方都找不到任何有用的帮助。

What my dataframe looks like

What my dataframe should look like

【问题讨论】:

    标签: python pandas indexing


    【解决方案1】:

    当您在 csv 中阅读时,请使用 pandas.read_csv(index_col= #, * args)。如果它们没有正确的索引列,请设置 index_col=False

    要更改现有 DataFrame df 的索引,请尝试方法 df = df.reset_index()df=df.set_index(#)

    【讨论】:

      【解决方案2】:

      当您导入 csv 时,您是否使用了 index_col 参数?根据documentation,它应该默认为None。如果你不使用参数,你应该没问题。

      无论哪种方式,您都可以使用index_col=False 强制它不使用列。来自文档:

      注意:index_col=False 可用于强制 pandas 不使用第一列作为索引,例如当您的文件格式不正确时,每行末尾都有分隔符。

      【讨论】:

        【解决方案3】:

        你能试试这个吗:

        df.reset_index(inplace = True, drop = True)
        

        让我知道这是否有效。

        【讨论】:

        • 请注意,这样做会丢失当前用作索引的列。来自docs 的第二个示例。
        • 是的,drop = True 会删除该列。 df.reset_index(inplace = True) 我猜会起作用。
        【解决方案4】:

        Python 3.8.5

        熊猫==1.2.4

        pd.read_csv('file.csv', header=None)
        

        我在文档中找到了解决方案:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

        【讨论】:

          猜你喜欢
          • 2019-03-16
          • 2021-12-31
          • 2018-03-15
          • 1970-01-01
          • 2021-10-09
          • 2019-12-07
          • 1970-01-01
          • 2020-02-22
          • 1970-01-01
          相关资源
          最近更新 更多