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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pyspark:如何從 pyspark.sql.dataframe.DataFrame

Pyspark:如何從 pyspark.sql.dataframe.DataFrame

楊__羊羊 2022-07-12 18:30:43
我對spark語言和pyspark. 我有一個pyspark.sql.dataframe.DataFrame如下所示:df.show()+--------------------+----+----+---------+----------+---------+----------+---------+|                  ID|Code|bool|      lat|       lon|       v1|        v2|       v3|+--------------------+----+----+---------+----------+---------+----------+---------+|5ac52674ffff34c98...|IDFA|   1|42.377167| -71.06994|17.422535|1525319638|36.853622||5ac52674ffff34c98...|IDFA|   1| 42.37747|-71.069824|17.683573|1525319639|36.853622||5ac52674ffff34c98...|IDFA|   1| 42.37757| -71.06942|22.287935|1525319640|36.853622||5ac52674ffff34c98...|IDFA|   1| 42.37761| -71.06943|19.110023|1525319641|36.853622||5ac52674ffff34c98...|IDFA|   1|42.377243| -71.06952|18.904774|1525319642|36.853622||5ac52674ffff34c98...|IDFA|   1|42.378254| -71.06948|20.772903|1525319643|36.853622||5ac52674ffff34c98...|IDFA|   1| 42.37801| -71.06983|18.084948|1525319644|36.853622||5ac52674ffff34c98...|IDFA|   1|42.378693| -71.07033| 15.64326|1525319645|36.853622||5ac52674ffff34c98...|IDFA|   1|42.378723|-71.070335|21.093477|1525319646|36.853622||5ac52674ffff34c98...|IDFA|   1| 42.37868| -71.07034|21.851894|1525319647|36.853622||5ac52674ffff34c98...|IDFA|   1|42.378716| -71.07029|20.583202|1525319648|36.853622||5ac52674ffff34c98...|IDFA|   1| 42.37872| -71.07067|19.738768|1525319649|36.853622|+--------------------+----+----+---------+----------+---------+----------+---------+only showing top 20 rows我想在循環(huán)中提取每個唯一用戶的信息,并將其轉(zhuǎn)換為熊貓數(shù)據(jù)框。對于第一個用戶,這就是我想要的:id0 = df.first().IDtmpDF = df.filter((fs.col('ID')==id0))它可以工作,但是將其轉(zhuǎn)換為熊貓數(shù)據(jù)框需要很長時間tmpDF = tmpDF.toPandas()
查看完整描述

2 回答

?
慕容708150

TA貢獻1831條經(jīng)驗 獲得超4個贊

你可以通過使用將 spark df 轉(zhuǎn)換為 pandastoPandas()


unique_df = df.select('ID').distinct()


unique_pandas_df = unique_df.toPandas()


查看完整回答
反對 回復(fù) 2022-07-12
?
慕雪6442864

TA貢獻1812條經(jīng)驗 獲得超5個贊

以下是您正在尋找的內(nèi)容,df.select("ID").distinct().rdd.flatMap(lambda x: x).collect()為您提供了一個獨特的列表ID,您可以使用它來創(chuàng)建filterspark 數(shù)據(jù)框,toPandas()并可用于將 spark 數(shù)據(jù)框轉(zhuǎn)換為 pandas 數(shù)據(jù)框。


for i in df.select("ID").distinct().rdd.flatMap(lambda x: x).collect():

  tmp_df = df.filter(df.ID == i)

  user_pd_df = tmp_df.toPandas()

更新:由于問題已被編輯


toPandas()導(dǎo)致將 DataFrame 中的所有記錄收集到驅(qū)動程序,并且應(yīng)該在數(shù)據(jù)的一小部分上完成。如果您嘗試將巨大的 DataFrame 轉(zhuǎn)換為 pandas,則需要花費大量時間。


查看完整回答
反對 回復(fù) 2022-07-12
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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