pyspark如何添加索引为DataFrame添加连续的行索引?

最近开始接触pyspark其中DataFrame的应用很重偠也很简便。因此这里记录一下自己的学习笔记。

详细的应用可以参看这是官网文档,里面记录了详细的DataFrame使用说明


以sql输出的结果创建df,这种形式最常用

 

  
 
当然,也可以采用下面的方式创建DF我们这里造了下面的数据集来说明df的一系列操作。
 
createDataFrame有一个参数samplingRatio。这个参数的含义是:如果df的某列的类型不确定则抽样百分之samplingRatio的数据来看是什么类型。因此我们一般设定其为1。即只要该列有1个数据不为空,该列的类型就不会为null

 

df.show()默认打印前20条数据,当然可以指定具体打印多少条数据
 
 
 
 
查询某列为null的行
 
输出list类型,list中每个元素是Row类:
 
注:此方法将所有数据全部导入到本地返回一个Array对象。当然我们可以取出Array中的值,是一个Row我们也可以取出Row中的值。
 
 
 

 
选择一列或多列:select

  
 
用where按条件选擇
 

 
orderBy:按指定字段排序默认为升序
 

 
 

withColumn是通过添加或替换与现有列有相同的名字的列,返回一个新的DataFrame
但是,我们这么写会报错
 

 
另一种方式是通过另一个已有变量:
 
 

 
利用union可以按行拼接
 

 

合并2个表的join方法:
 

 
来看一个例子先构造两个dataframe:

  
 

 
有时候需要根据某个字段内容进行分割,然后生成多行这时可以使用explode方法。下
面代码中根据c3字段中的空格将字段内容进行分割,分割的内容存储在新的字段c3_中如下所示


在stat模块中。参考文献【2】有详细介绍

  
 
 



当然,pyspark的df的功能特别强大我这里就不再一一举例了,详见参考文献【2】


快速了解dataframe 提供的功能. 避免重复工莋

cov 皮尔逊相关系数

参考资料

 

随机推荐