用pandas导入csv表格后,怎么指定那一列是index

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用pandas导入csv表格后,怎么指定那一列是index相关的知识,希望对你有一定的参考价值。

引入pandas
使用pandas下的read_csv方法,读取csv文件,参数是文件的路径,这是一个相对路径,是相对于当前工作目录的,那么如何知道当前的工作目录呢?
使用os.getcwd()方法获取当前工作目录
读取前三后数据,查看一下是否读取正确,显然都是乱码,这是什么问题呢?
我们需要设定参数encoding,也就是编码方式,如果你不设定编码方式,默认是utf8,现在csv文件是gbk编码的,所以需要使用encoding='gbk'
我用的编辑器是eric4,注意,eric4默认是不支持中文的,如果你想要显示中文,前提是设置正确的编码,在preferences中
设置成utf8即可
回到pandas,我们可以有更多选项来设置打开数据时的操作:
参考技术A

我来终结这个问题,使用index_col属性,指定列名或者列序列号,即可

例如:

index_col=0 # 指定第一列为行索引
index_col='id' # 指定‘id’列为行索引

亲测

参考技术B 如果是csv的话可以使用pd.read_csv(path,index_col=u"列名")
这里的data是你的文件路径,列名就是你要导入的列名,可能出现的bug就是程序会把你读的一列的列名也算为索引,删去就行。

以上是关于用pandas导入csv表格后,怎么指定那一列是index的主要内容,如果未能解决你的问题,请参考以下文章

04 pandas DataFrame_创建、文件读取、编码

pandas读取excel文件指定列

怎么通过nrows参数导入数据

Pandas - 使用 read_csv 指定具有混合列数据的 dtype

python读取csv出错怎么解决

使用 Pandas 为 Scikit-Learn 准备 CSV 文件数据?