data.table 与 pandas
数据分析项目通常可以分解为以下过程,数据加载-数据清洗-(特征处理、可视化、模型训练)-成果汇报1。其中,数据清洗与特征处理或者称为数据预处理过程,一般会占据整个项目的大部分时间。熟练掌握相关工具,提高数据处理的效率,是开展数据分析工作的基础。 在开展数据科学相关工作时,最常用的开源工具包括 R 与 python。对于可在内存级处理的数据,在 R 中通常使用 data.table 包进行数据处理,而在 python 环境中 pandas 包最为常用的。为了方便查阅和对比,本文分别用 data.table 与 pandas 实现了常见的数据处理任务2。 数据框(data frame)是大家接触最多的数据格式,它的每一列都是长度相等、类型一致的向量。对数据框的操作可以从行与列两个维度,拆解为以下五类基本操作。这一思路来自 dplyr 包3的帮助文档,因此下面五类基本操作的英文均为该包的函数名。这些基本操作均可以与 group_by 相互结合使用。除了这五类基本操作,还包括行列转换、数据框的切割与合并等。绝多数的数据处理任务都可以拆解为以上这几类基本操作,具体案例请参见下面的代码。 行:选择 filter、排序 arrange 列:选择 select、新建 mutate、计算 summarise 数据探索 数据加载 library(data.table) packageVersion('data.table') url = "https://vincentarelbundock.github.io/Rdatasets/csv/datasets/HairEyeColor.csv" dt = fread(url) import pandas as pd pd.version url = "https://vincentarelbundock.github.io/Rdatasets/csv/datasets/HairEyeColor.csv" df = pd.read_csv(url) 查看数据结构 # 数据类型 class(dt) str(dt) # 列名 names(dt) # 打印前后几行 head(dt, n=3) tail(dt, n=3) # 维度 dim(dt) nrow(dt) ncol(dt) # 统计描述 summary(dt) # 数据类型 type(df) df.