【发布时间】:2019-08-28 11:55:29
【问题描述】:
我有 2 个 pyspark 数据帧,我想找到这两个数据帧的变异系数。
数据框1:
hours total
00 75969.0
01 75302.0
02 74636.0
03 73969.0
04 73302.0
05 72635.0
数据框2:-
hours total1
00 71535
01 71182
02 77628
03 75984
04 75276
05 67259
我想要这样的输出:-
dataframe3 :-
hours total total1 CV
00 75969.0 71535 3.006020
01 75302.0 71182 2.812594
02 74636.0 77628 1.965008
03 73969.0 75984 1.343754
04 73302.0 75276 1.328595
05 72635.0 67259 3.842910
我通过将 pyspark-dataframe 转换为 pandas 数据帧来完成这些,但我想在不使用 pandas 的情况下计算 CV。 这些我都做过
pd1=dataframe1.toPandas()
pd2=dataframe2.toPandas()
a4=[]
list1=[]
count=len(pd1)
print(count)
import numpy as np
for i in range(count):
del a4[:]
p9=(pd1.total[i])
p10=(pd2.total1[i])
a4.append(p10)
a4.append(p9)
standard_d1=np.std(a4,ddof=0)
mean1=np.mean(a4)
cv=(standard_d1/mean1)*100
list1.append(cv)
pd1['cv']=list1
【问题讨论】: