select:处理列或表达式
selectExor:处理字符串表达式
数据集格式如下:
有三个字段,目的国家、出发国家、count
一.select
从df中选择列的方式,
1.DataFrame.select(“列名”),参数是列名的字符串格式。想要选出多列,可以用相同方式添加更多列名
小技巧:传入"*"选择所有列。
2.通过函数选择列
这些函数有DataFrame.col(“列名”)、col(“列名”)、column(“列名”)、expr(“列名”);以及两种scala特有的语言支持,$“列名”、‘列名
函数方式也能一次选择多列
3.函数方式和列名字符串方式不能同时使用
4.简单数据操作,聚合函数的使用
数据操作
聚合函数使用
二、selectExpr
selectExpr可以构建复杂的表达式,和select里面使用expr函数有一样的效果。
1.选择列,和select一样可以通过列名选组
2.DataFrame.selectExpr(“表达式”)
下图中使用as对一列进行了重命名
3.判断的字符串表达式,withinCountry这列是判断起点终点是否一致
4.聚合操作
这里第一列计算了count的均值,第二列的第一步先计算出不同目的地,第二部计算不同目的地的数量。
总结:
select和selectExpr函数的功能十分接近,可以说基本上一致。唯一的区别可能就是个人的使用习惯,这一点从官方文档里面也能看出。