取消
顯示的結果
而不是尋找
你的意思是:

比較2 dataframes dataframe內創建列值

lmcglone
新的貢獻者二世

你好,

我有一個dataframe名稱和公司

從pyspark。sql進口SparkSession

火花= SparkSession.builder.appName ('SparkByExamples.com”).getOrCreate ()

列=(“公司”、“名稱”)

data = [(“company1”,“喬”)(“company2”、“喬布斯”)(“company1”、“金”)(“3”,“山姆”)(“company4”,“吉姆”)(“company4”,“托尼”)(“company5”、“斯坦”),

]

df =火花。createDataFrame(=數據、模式=列),告訴()

然後我有另一個dataframe有公司名稱

羅馬柱= (“job_comany”、“num”)

data2 = [(“company1”, 1), (“company2”, 2), (“3”, 3), (“company4”, 4), (“company5”, 5),)

df2 =火花。createDataFrame (data = data2模式=羅馬柱),告訴()

我想做的是使用公司名稱搜索dataframe dataframe人名和識別與人相關的公司與公司名稱,並創建一個dataframe列和一個0或1,如果這個人是與公司。這是我想看到的照片是我最後的dataframe。

圖像

2回答2

Hubert_Dudek1
尊敬的貢獻者三世

你需要連接和主

df . join (df2 = [df.company = = df2.job_company])) .groupBy .pivot(“公司”,“名字”)(“job_company”) .count ()

image.png

lmcglone
新的貢獻者二世

由於....這是完美的。:grinning_face:

另一個問題將這一概念再推進一步。從這個代碼我怎麼改變了列名的名稱。在你的例子有company1、company2等。有可能改變這些名字company1_a, company2_a,等等?

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map