第一次的打卡内容包括数据的载入及初步观察、Pandas基础以及探索性数据分析三个部分。
1. 数据的载入及初步观察
这一节内容中,刚开始绝对路径的设置中"/"和'''\'用错了,直接拿文件夹的路径粘贴过来,导致运行失败
使用pandas中read_csv读取csv数据时,对于有表头的数据,将header设置为空(None),会报错:pandas_libs\parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 4 fields in line 2, saw 5 。查看pandas官方文档发现,read_csv读取时会自动识别表头,数据有表头时不能设置header为空(默认读取第一行,即header=0);数据无表头时,若不设置header,第一行数据会被视为表头,应传入names参数设置表头名称或设置header=None。index_col=False,不设置则默认第一列为index。
2. Pandas基础
[1] loc/iloc/ix的用法比较:
1)loc的用法:行根据行标签,也就是索引筛选,列根据列标签,列名筛选;如果选取的是所有行或者所有列,可以用:代替;行标签选取的时候,两端都包含,比如[0:5]指的是0,1,2,3,4,5。
2) iloc的用法:根据行标签的位置索引。iloc就是 integer loc ,可以理解为是在loc的基础上,用整数索引。位置从0开始,并且只到索引右端值-1
3) ix的用法:ix相当于loc和iloc的综合版本,既可以按标签选取,又可以按位置选取。也就是说,ix可以识别想按照标签选取,还是按照位置选取。它是先于iloc、和loc产生的,现在基本上用iloc和loc已经完全能取代ix了。
[2] Pandas的drop和del函数使用比较:
DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
labels是指要删除的标签,一个或者是列表形式的多个,axis是指处哪一个轴,columns是指某一列或者多列,level是指等级,针对多重索引的情况,inplaces是否替换原来的dataframe。Axis=1表示列,默认是行。假如没有指定columns,则需要指明axis的取值。del函数相对比较简单,可以直接指定列进行删除,如del df['A'];
[3] Reset_index函数使用规则:
对于没有先使用set_index函数而直接对原来的数据表进行reset的情况,drop=True, 在原有的索引列重置索引,同时不另外添加新列。这个常用于在进行数据删减筛选处理的时候对索引进行重置。
3. 探索性数据分析
第三部分主要是对数据表相关数据进行排序以及统计相关分析