0
我有一個dataframe df,其中包含13個以逗號分隔的值。我想在df2中獲得一個包含標記點的數據框。價值是標籤,其他十二個是特徵。我使用拆分和選擇方法將具有13值的字符串劃分爲13個值的數組。地圖方法允許我創建標記點。錯誤當我使用toDF()方法來RDD轉換成數據幀將LabeledPoint的RDD轉換爲DataFrame到DF()錯誤
df2 = df.select(split(df[0], ',')).map(lambda x: LabeledPoint(float(x[0]),x[-12:])).toDF()
org.apache.spark.SparkException:作業已中止由於舞臺故障:
,當我看在stackerror我發現: IndexError:元組索引超出範圍。
爲了做測試,我執行:
display(df.select(split(df[0], ',')))
我獲得我的13個值中的陣列的每一行:
["2001.0","0.884123733793","0.610454259079","0.600498416968","0.474669212493","0.247232680947","0.357306088914","0.344136412234","0.339641227335","0.600858840135","0.425704689024","0.60491501652","0.419193351817"]
任何主意?
如何將CSV加載到數據框中?在我看來,錯誤可能在split(df [0],',')。看來你只使用一列。 –
'x [-12:]'給出了錯誤。 ''split''後可能檢查你實際上有13個值? – ShuaiYuan
我重新編輯我的帖子。我測試這個命令顯示(df.select(split(df [0],',')))就像我在帖子中說的,我正確地獲得了我的13個值... –