2024-09-21 07:36:50 发布
网友
我有一个RDD,我想把它转换成pandasdataframe。我知道要转换并将RDD转换为正常的dataframe,我们可以
RDD
pandas
dataframe
df = rdd1.toDF()
但我想把RDD转换成pandasdataframe,而不是普通的dataframe。我该怎么做?
您必须使用Spark数据帧作为RDD和所需Pandas数据帧之间的中间步骤。
例如,假设我有一个文本文件flights.csv,它已读入到RDD中:
flights.csv
flights = sc.textFile('flights.csv')
您可以检查类型:
type(flights) <class 'pyspark.rdd.RDD'>
如果您只是在RDD上使用toPandas(),它将不起作用。根据RDD中对象的格式,可能需要先处理Spark数据帧。在本例中,此代码执行以下任务:
toPandas()
# 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.
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
我推荐乔什克的托潘达斯的快速版本
<script src="https://gist.github.com/joshlk/871d58e01417478176e7.js"></script>
您必须使用Spark数据帧作为RDD和所需Pandas数据帧之间的中间步骤。
例如,假设我有一个文本文件
flights.csv
,它已读入到RDD中:您可以检查类型:
如果您只是在RDD上使用
toPandas()
,它将不起作用。根据RDD中对象的格式,可能需要先处理Spark数据帧。在本例中,此代码执行以下任务:您可以检查类型:
您可以使用函数^{} :
我推荐乔什克的托潘达斯的快速版本
相关问题 更多 >
编程相关推荐