现在为止,大概用半年的时间了解R,包括基础的数据清洗和处理、统计分布、ggplot的画图、机器学习建模以及R的爬虫。可以说到现在为止,R已经成了数据分析不可或缺的工具,并且确实提高了效率和扩展了数据分析的广度。然而正如从小白的excel到excel函数到vba到R的进化一样,尽管电脑的12G内存可以处理千万级数据,正如excel和R的比较:excel只能处理统计性数据,但是R除了可以直接处理数据以外,还可以爬取数据,建模等一系列工作,并且可以修改本地的文件等等,但是还不够,因为python的扩展性更强,可以囊括爬虫、网络后台、数据科学、作图(好像一直是python的弱项?)等一系列功能。
扫过一眼《利用python进行数据分析》,里面讲的应用pandas和numpy包进行数据处理和清洗,但是怎么也看不进去,究其原因是这本书不太适合我;如果我没有学过R,这本书是一本非常好的入门教材,然而对于学习过其他语言的(SPSS/SAS/R)的人来说,基本上有一套数据分析的思路和流程,反而类比来看效果会更好;未来希望可以对比着研究R和python的关系和语法区别,希望三个月内,python可以用的像R一样熟练。
简单来说,数据分析步骤就是:
提取–清洗–探索–挖掘
先说提取数据,这部分主要针对研究的方面,进行数据的提取,提取包含从服务器中进行数据的初步提取,也就是SQL的提取;或者从网络上提取,也就是R的curl或py的scrapy;如果单机版玩家,拿到的数据就是自己推给自己的csv文件,也就有了数据分析的基础。
数据清洗:数据清洗这块是数据分析软件的强项,也是最难的地方之一;数据有不同维度,需要通过各种方式进行整合,判断;需要增添数据,或者去除异常值,或者从数据中提取少量进行分割
数据探索:数据探索是拿到这个数据最后想形成什么样预设结论,方法包括描述性统计、探索性画图找规律,做一些简单的假设检验等等,这块属于浅尝辄止:通过广撒网,确定几个深入研究的方向
最后就是数据挖掘,通过探索判定几个方向,后续可以利用各类建模的方式进行后续数据的预测和分析,或者继续探索数据异常的原因。
接下来就可以通过这些类比R和python了。
先说操作环境,R的Rstudio会对应python的pycharm,二者风格类似,可以无缝切换。
R一般会使用下面这两个函数进行包的安装和载入:
install.package('')
library()
由于我比较懒,一般都是到pycharm搜索包,然后直接安装,原生python可以用pip进行获取,然后载入包,比如pandas
from pandas import Series,DataFrame
import pandas as pd
import numpy as np
import函数=R的library,但是R有个缺点,很多包的函数相同的时候,会有一些函数被mask,也就是失效;而python这点算是个优点,比如:
import pandas as pd
以后很多pandas中的函数,都需要加上一个pd.xxx;除非在开头直接导入函数,比如导入了series和dataframe函数,可以不用前缀直接使用。
之前的R中的iris数据集我存到了csv文件中,需要读取,R中有
read.csv()
而python和这个类似:
import csv
iris=pd.read_csv('D:\\python study\\iris.csv')
read_csv函数前面就加了个pd前缀。
那么我们就导入了数据,但是查看数据的时候,我们不可能看数据的全集,太大了,需要看一下头几条,R中是
head(iris)
py中对应:
iris.head()
比如输入iris.head(),默认显示五条数据:
iris.head()
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa