我嘗試從df_spark具有 1 億行的資料框 ( ) 中提取樣本,并使用以下代碼將其轉換為 pandas 資料框:
df = df_spark.sample(withReplacement = False, fraction = 0.05, seed = 11).collect().toPandas()
不幸的是,我收到以下錯誤:
AttributeError: 'list' object has no attribute 'toPandas'
我還嘗試將其轉換為 rdd 然后再轉換為 pandas 并得到相同的錯誤。
我想知道一旦我有了示例串列,將其轉換為 pandas 資料幀或 spark 資料幀的正確方法是什么?
uj5u.com熱心網友回復:
沒有必要在collect()這里打電話。該sample()函式回傳一個 DataFrame 物件,代碼可以很簡單:
df = df_spark.sample(withReplacement = False, fraction = 0.05, seed = 11).toPandas()
uj5u.com熱心網友回復:
我解決了這個問題,首先將示例轉換為 rdd,然后轉換為spark.DataFrame并最后轉換Pandas為以下代碼:
df = (df_spark.sample(withReplacement = False, fraction = 0.05, seed = 11)
.rdd
.toDF()
.toPandas())
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/421893.html
標籤:
