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

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

如何透視DataFrame?

如何透視DataFrame?

蝴蝶不菲 2019-06-03 15:12:57
如何透視DataFrame?我開始使用SparkDataFrames,我需要能夠?qū)?shù)據(jù)轉(zhuǎn)到多個(gè)行的1列中創(chuàng)建多列。在燙傷中有內(nèi)置的功能,我相信Python中的Pandas,但是我無法為新的SparkDataframe找到任何東西。我想我可以寫一些自定義函數(shù)來實(shí)現(xiàn)這一點(diǎn),但我甚至不知道如何開始,特別是因?yàn)槲沂且粋€(gè)星火新手。我知道如何使用內(nèi)置的功能或關(guān)于如何在Scala中編寫東西的建議來完成這一任務(wù),這是非常值得贊賞的。
查看完整描述

3 回答

?
翻過高山走不出你

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

通過編寫for循環(huán)來動(dòng)態(tài)創(chuàng)建SQL查詢,我克服了這一點(diǎn)。說我有:

id  tag  value
1   US    50
1   UK    100
1   Can   125
2   US    75
2   UK    150
2   Can   175

我想:

id  US  UK   Can
1   50  100  125
2   75  150  175

我可以創(chuàng)建一個(gè)包含我想要樞軸的值的列表,然后創(chuàng)建一個(gè)包含我需要的SQL查詢的字符串。

val countries = List("US", "UK", "Can")val numCountries = countries.length - 1var query = "select *, "for (i <- 0 to numCountries-1) {
  query += """case when tag = """" + countries(i) + """" then value else 0 end as """ + countries(i) + ", "}query += """case when tag = """" 
  + countries.last + """" then value else 0 end as """ + countries.last + " from myTable"myDataFrame.registerTempTable("myTable")val myDF1 = 
  sqlContext.sql(query)

我可以創(chuàng)建類似的查詢,然后進(jìn)行聚合。這不是一個(gè)非常優(yōu)雅的解決方案,但它可以工作,并且對(duì)于任何值列表都是靈活的,在調(diào)用代碼時(shí),這些值也可以作為參數(shù)傳入。


查看完整回答
反對(duì) 回復(fù) 2019-06-03
  • 3 回答
  • 0 關(guān)注
  • 925 瀏覽
慕課專欄
更多

添加回答

舉報(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)