动手学数据分析
本次跟随Datawhale组织的动手学数据分析组队学习,对数据分析继续加强学习,希望能有所收获。Datawhale是一个很好的开源组织,会组织很多优质、开源的系列学习。
附上本次组队学习的计划和教程资料,如果链接失效,可点击这里前往Datawhale官网自行查找,即使没有当时加入组队学习,有兴趣的话从现在开始学习也不晚哦~
由于此次是需要有一些pandas基础,之前有做过pandas的脑图总结,有需要的同学可以点这里前往获取。
现在学习喜欢用脑图的方式,知识点清晰明了,易于查找和复习,希望也可以帮助大家梳理知识脉络,同时欢迎补充。
Task01:数据加载及探索性数据分析
链接:https://pan.baidu.com/s/1vgHMknIps9e0oiLfyUKG0Q
提取码:d8cd
一、重点与思考
筛选了一些比较重要的操作以及一些思考的回答:
【思考】知道数据加载的方法后,试试pd.read_csv()和pd.read_table()的不同,如果想让他们效果一样,需要怎么做?了解一下’.tsv’和’.csv’的不同,如何加载这两个数据集?
-
要想效果相同,将read_table的分隔符参数sep改为‘,’。
read_table将范式的分隔符分隔值的文件读入DataFrame,默认为将制表符分隔的值(TSV)文件读入DataFrame。
read_csv将逗号分隔的值(CSV)文件读入DataFrame。 -
TSV与CSV的区别:
1)从名称上即可知道,TSV 是Tab-separated values的缩写,即制表符分隔值,是用制表符(Tab,’\t’)作为字段值的分隔符;CSV,Comma-separated values是用半角逗号(’,’)作为字段值的分隔符;
2)IANA规定的标准TSV格式,字段值之中是不允许出现制表符的。 -
Python对TSV文件的支持: Python的csv模块准确的讲应该叫做dsv模块,因为它实际上是支持范式的分隔符分隔值文件(DSV,delimiter-separated values)的。 delimiter参数值默认为半角逗号,即默认将被处理文件视为CSV。 当delimiter=’\t’时,被处理文件就是TSV。
【思考】什么是逐块读取?为什么要逐块读取呢?
逐块读取:将数据分成小块按块读入,得到的对象指向了多个分块对象,但并没有将实际数据先读入,而是在提取数据时才将数据提取进来。
原因:在处理很⼤的⽂件时,可将大文件拆分成小块按块读入后,这样可减少内存的存储与计算资源。数据的处理和清洗经常使用分块的方式处理,这能大大降低内存的使用量,但相比会更耗时一些。
【总结】下面将不同的排序方式做一个总结
二、阶段性提问
-
观察DataFrame数据类型,可以分为哪些类型?
详情请查看文档,或点击这里。 -
数据文件的NAN/NULL数据读取为DataFrame后最终会变为哪种数据?
-
如何筛选姓名中含有"Mr."的数据出来?
-
如何查看数据中的95%分位数?
-
关于缺失值部分:
df[df[‘Age’]==None]=0 # 不推荐
df[df[‘Age’] == np.nan] = 0 # 不推荐
df[df[‘Age’].isnull()] = 0 # 还好
df[‘Age’] = df[‘Age’].fillna(0) # 推荐
你能说说原因吗?