如何在ipython中将Spark RDD转换为pandas dataframe?

2024-09-21 07:36:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个RDD,我想把它转换成pandasdataframe。我知道要转换并将RDD转换为正常的dataframe,我们可以

df = rdd1.toDF()

但我想把RDD转换成pandasdataframe,而不是普通的dataframe。我该怎么做?


Tags: dataframedfrddpandasdataframetodfrdd1
3条回答

您必须使用Spark数据帧作为RDD和所需Pandas数据帧之间的中间步骤。

例如,假设我有一个文本文件flights.csv,它已读入到RDD中:

flights = sc.textFile('flights.csv')

您可以检查类型:

type(flights)
<class 'pyspark.rdd.RDD'>

如果您只是在RDD上使用toPandas(),它将不起作用。根据RDD中对象的格式,可能需要先处理Spark数据帧。在本例中,此代码执行以下任务:

# 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'>

您可以使用函数^{}

Returns the contents of this DataFrame as Pandas pandas.DataFrame.

This is only available if Pandas is installed and available.

>>> df.toPandas()  
   age   name
0    2  Alice
1    5    Bob

我推荐乔什克的托潘达斯的快速版本

&13;
&13;
<script src="https://gist.github.com/joshlk/871d58e01417478176e7.js"></script>

相关问题 更多 >

    热门问题