第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在數(shù)據(jù)框的列上應(yīng)用地圖功能

在數(shù)據(jù)框的列上應(yīng)用地圖功能

收到一只叮咚 2023-02-12 18:59:08
我需要將數(shù)據(jù)框列的所有值合并為每列的單個(gè)值。所以這些列保持不變,但我只是對(duì)所有相應(yīng)的值求和。為此,我打算使用此功能:def sum_col(data, col):     return data.select(f.sum(col)).collect()[0][0]我現(xiàn)在想這樣做:data = data.map(lambda current_col: sum_col(data, current_col))這是可行的,還是我需要另一種方法來合并列的所有值?
查看完整描述

2 回答

?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以通過 sum 函數(shù)實(shí)現(xiàn)此目的


import pyspark.sql.functions as f

df.select(*[f.sum(cols).alias(cols) for cols in df.columns]).show()


+----+---+---+

|val1|  x|  y|

+----+---+---+

|  36| 29|159|

+----+---+---+


查看完整回答
反對(duì) 回復(fù) 2023-02-12
?
繁華開滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊

要將所有列匯總為一個(gè)新列,您可以將列表推導(dǎo)與 python 的 sum 函數(shù)一起使用


import pyspark.sql.functions as F

from pyspark.sql.functions import udf

from pyspark.sql.types import *

tst= sqlContext.createDataFrame([(10,7,14),(5,1,4),(9,8,10),(2,6,90),(7,2,30),(3,5,11)],schema=['val1','x','y'])

tst_sum= tst.withColumn("sum_col",sum([tst[coln] for coln in tst.columns]))

結(jié)果:


tst_sum.show()

+----+---+---+-------+

|val1|  x|  y|sum_col|

+----+---+---+-------+

|  10|  7| 14|     31|

|   5|  1|  4|     10|

|   9|  8| 10|     27|

|   2|  6| 90|     98|

|   7|  2| 30|     39|

|   3|  5| 11|     19|

+----+---+---+-------+

注意:如果您從 pyspark 函數(shù)中導(dǎo)入了 sum 函數(shù),那么from import pyspark.sql.functions import sum您必須將名稱更改為其他名稱,例如from import pyspark.sql.functions import sum_pyspark


查看完整回答
反對(duì) 回復(fù) 2023-02-12
  • 2 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)