PySpark的DataFrame的具体操作:读取数据集、观察文档、查看列名、文档统计值、查看变量属性、选择特定变量、筛选特定样本、计算不重复值、资料清洗、处理缺失值、转换类型,具体例子如下所示:
## 读取数据集
fileDF = spark.read.csv('hdfs://tmp/ratings.csv', sep = ',', header = True)
## 观察文档
fileDF.show() #排列为表格,利于观察
fileDF.head(2) #原始格式
## 查看列名
fileDF.columns
len(fileDF.columns) #计算长度
## 文档统计值
fileDF.describe().show() #查看内容---描述统计值(最大,最小,频数等)
fileDF.describe('rating').show() #查看其中一列
## 查看变量属性
fileDF.printSchema()
## 选择特定变量
fileDF.select('user','rating').show() #选择'user','rating'
fileDF.select('user',fileDF['rating'] + 1).show() #'rating'运算加1
fileDF.select('user',fileDF['rating'] + 1).printSchema() #查看属性
## 筛选特定样本
fileDF.filter(fileDF['userid'] == 3).show() #选择userid等于3
fileDF.filter(fileDF['userid'] == 3).select('userid','rating').show() #选择userid等于3的变量'userid','rating'
## 计算不重复值
fileDF.count()
fileDF.select('userid').distinct().show()
fileDF.select('userid').distinct().count() #计算不重复值有多少
## 资料清洗
fileDF.crosstab('userid','rating').show() #两个变量的交叉情况
## 处理缺失值
fileDF.fillna(0).show() #缺失值用0代替
fileDF.dropna().show() #直接删除缺失值
## 转换类型
from pyspark.sql.types import DoubleType
fileDF = fileDF.withColumn('rating_double', fileDF['rating'].cast(DoubleType()))
fileDF.printSchema()F