RDD
があり、それをpandas
dataframe
に変換します。変換してRDD
を通常のdataframe
に変換して、できることを知っています
df = rdd1.toDF()
しかし、私はRDD
をpandas
dataframe
に変換し、通常のdataframe
ではありません。どうすればいいですか?
関数 toPandas()
を使用できます。
このDataFrameの内容をPandas pandas.DataFrameとして返します。
これは、Pandasがインストールされて使用可能な場合にのみ使用可能です。
>>> df.toPandas()
age name
0 2 Alice
1 5 Bob
RDDと目的のSpark DataFrameの間の中間ステップとしてPandas DataFrameを使用する必要があります。
たとえば、RDDに読み込まれたテキストファイルflights.csv
があるとします。
flights = sc.textFile('flights.csv')
タイプを確認できます:
type(flights)
<class 'pyspark.rdd.RDD'>
RDDでtoPandas()
を使用するだけでは機能しません。 RDDのオブジェクトの形式によっては、最初にSpark DataFrameに移動するためにいくつかの処理が必要になる場合があります。この例の場合、このコードは次のことを行います。
# RDD to Spark DataFrame
sparkDF = flights.map(lambda x: str(x)).map(lambda w: w.split(',')).toDF()
#Spark DataFrame to Pandas DataFrame
pdsDF = sparkDF.toPandas()
タイプを確認できます:
type(pdsDF)
<class 'pandas.core.frame.DataFrame'>