首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CV目标均值编码的PySpark动态均值计算

CV目标均值编码的PySpark动态均值计算
EN

Stack Overflow用户
提问于 2018-05-31 18:16:51
回答 1查看 161关注 0票数 0

使用- Python 3.6,Spark 2.3

原始DF -

代码语言:javascript
复制
key     a_fold_0    b_fold_0    a_fold_1    b_fold_1    a_fold_2    b_fold_2
1   1   2   3   4   5   6
2   7   5   3   5   2   1

我想从下面的数据框中计算平均值,如下所示(就像这样计算所有列和所有折叠)-

代码语言:javascript
复制
key     a_fold_0    b_fold_0    a_fold_1    b_fold_1    a_fold_2    b_fold_2    a_fold_0_mean   b_fold_0_mean   a_fold_1_mean
1   1   2   3   4   5   6   3 + 5 / 2   4 + 6 / 2   1 + 5 / 2
2   7   5   3   5   2   1   3 + 2 / 2   5 + 1 / 2   7 + 2 / 2

流程-

对于fold_0,我的平均值应该是fold_1 + fold_2 /2

对于fold_1,我的平均值应该是fold_0 + fold_2 /2

对于fold_2,我的平均值应该是fold_0 + fold_1 /2

对于每一列。

和我的列数,否。折叠,一切都是动态的。

如何在pyspark数据框架上解决这个问题?

尝试使用交叉验证-目标-均值-编码技术来创建新特征。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-31 19:54:50

我自己解决的。

以防任何人需要重用代码-

代码语言:javascript
复制
orig_list = ['Married-spouse-absent', 'Married-AF-spouse', 'Separated', 'Married-civ-spouse', 'Widowed', 'Divorced', 'Never-married']
k_folds = 3

cols = df.columns  # ['fnlwgt_bucketed', 'Married-spouse-absent_fold_0', 'Married-AF-spouse_fold_0', 'Separated_fold_0', 'Married-civ-spouse_fold_0', 'Widowed_fold_0', 'Divorced_fold_0', 'Never-married_fold_0', 'Married-spouse-absent_fold_1', 'Married-AF-spouse_fold_1', 'Separated_fold_1', 'Married-civ-spouse_fold_1', 'Widowed_fold_1', 'Divorced_fold_1', 'Never-married_fold_1', 'Married-spouse-absent_fold_2', 'Married-AF-spouse_fold_2', 'Separated_fold_2', 'Married-civ-spouse_fold_2', 'Widowed_fold_2', 'Divorced_fold_2', 'Never-married_fold_2']

for folds in range(k_folds):
    for column in orig_list:
        col_namer = []
        for fold in range(k_folds):
            if fold != folds:
                col_namer.append(column+'_fold_'+str(fold))
        df = df.withColumn(column+'_fold_'+str(folds)+'_mean', (sum(df[col] for col in col_namer)/(k_folds-1)))
        print(col_namer)
df.show(1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50621933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档