【发布时间】:2020-04-19 16:06:04
【问题描述】:
我正在使用 Jupyter notebook 和 pandas 将几个 csv 文件导入 python,其中一些是在没有适当索引列的情况下创建的。而是使用第一列,即我需要操作的数据。如何创建常规索引列作为第一列?这似乎是一件小事,但我在任何地方都找不到任何有用的帮助。
【问题讨论】:
我正在使用 Jupyter notebook 和 pandas 将几个 csv 文件导入 python,其中一些是在没有适当索引列的情况下创建的。而是使用第一列,即我需要操作的数据。如何创建常规索引列作为第一列?这似乎是一件小事,但我在任何地方都找不到任何有用的帮助。
【问题讨论】:
当您在 csv 中阅读时,请使用 pandas.read_csv(index_col= #, * args)。如果它们没有正确的索引列,请设置 index_col=False。
要更改现有 DataFrame df 的索引,请尝试方法 df = df.reset_index() 或 df=df.set_index(#)。
【讨论】:
当您导入 csv 时,您是否使用了 index_col 参数?根据documentation,它应该默认为None。如果你不使用参数,你应该没问题。
无论哪种方式,您都可以使用index_col=False 强制它不使用列。来自文档:
注意:index_col=False 可用于强制 pandas 不使用第一列作为索引,例如当您的文件格式不正确时,每行末尾都有分隔符。
【讨论】:
你能试试这个吗:
df.reset_index(inplace = True, drop = True)
让我知道这是否有效。
【讨论】:
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
【讨论】: