通过scatter_matrix绘制散点图矩阵图,话不多说,直接上码
#读入数据
data=spark.read.csv("path\\xxx.csv",header=True,inferSchema='true')
#查看数据类型
data.printSchema()
#过滤数据
data=data[data['coupon_consume_ratio']!='NULL']
#更改数据类型
data=data.withColumn('coupon_consume_ratio',data['coupon_consume_ratio'].cast('double'))
#查看数据
import pandas as pd
pd.DataFrame(data.take(5),columns=data.columns).transpose()
#查看数据的统计信息
data.describe().toPandas().transpose()
#找出所有列中的数值列
numberic_features=[ t[0] for t in data.dtypes if (t[1]=='int' or t[1]=='double') and t[0]!='xxxx']
#选取数值列数据
data_pd=data.select(numberic_features).toPandas()
#绘制散点图矩阵
axs=pd.plotting.scatter_matrix(data_pd,figsize=(12,12))
n=len(data_pd.columns)
for i in range(n):
v=axs[i,0]
v.yaxis.label.set_rotation(0)
v.yaxis.label.set_ha('right')
v.set_yticks(())
h=axs[n-1,i]
h.xaxis.label.set_rotation(90)
h.set_xticks(())