SQLContext DataFrameをPythonのRDDのRDDに変換する方法は?
-
16-10-2019 - |
質問
いくつかの数値列で構成されるPANDASデータフレームから派生したSQLContextデータフレームがあります。演奏したい 多変量統計分析 を使用して pyspark.mllib.stats パッケージ。統計関数は、ベクトルのRDDを期待しています。このデータフレームをベクターのRDDに変換することはできませんでした。データフレームを変換する方法はありますか?
コード:
rdd = sqlCtx.createDataFrame(df_new)
summary = Statistics.colStats(rdd)
DF_NEWを取得しています
df_new = df.applymap(lambda s: dic.get(s) if s in dic else s) #df is a pandas dataframe
概要行でPY4JJAVAエラーが発生しています。問題は、RDDの形式です。
解決
DataFrame Python APIは、以下を呼び出すことにより、データフレームのRDDを公開します。
df.rdd # you can save it, perform transformations of course, etc.
df.rddは、コンテンツをrowのpyspark.rddとして返します。
その後、すべての行を次の行に変換する行のRDDにマッピングできます numpy
ベクター。あなたのベクトルが与えられた情報で何を表しているのかわからないので、私は変換についてこれ以上具体的にすることはできません。
注1: df
変数はデータフレームを定義しています。
注2:この関数はSpark 1.3以降利用可能です
所属していません datascience.stackexchange