use*_*197 32 python ipython pandas rdd pyspark
我有一个RDD,我想将其转换为pandas dataframe.我知道要转换,我们可以做到RDD正常dataframe
df = rdd1.toDF()
Run Code Online (Sandbox Code Playgroud)
但我想转换RDD为pandas dataframe而不是正常dataframe.我该怎么做?
jez*_*ael 43
你可以使用功能toPandas():
将此DataFrame的内容作为Pandas pandas.DataFrame返回.
这仅在Pandas已安装且可用时才可用.
>>> df.toPandas()
age name
0 2 Alice
1 5 Bob
Run Code Online (Sandbox Code Playgroud)
RKD*_*314 14
您必须使用Spark DataFrame作为RDD和所需Pandas DataFrame之间的中间步骤.
例如,假设我有一个flights.csv已经读入RDD 的文本文件:
flights = sc.textFile('flights.csv')
Run Code Online (Sandbox Code Playgroud)
你可以查看类型:
type(flights)
<class 'pyspark.rdd.RDD'>
Run Code Online (Sandbox Code Playgroud)
如果您只是toPandas()在RDD上使用它,它将无法正常工作.根据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()
Run Code Online (Sandbox Code Playgroud)
你可以查看类型:
type(pdsDF)
<class 'pandas.core.frame.DataFrame'>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67665 次 |
| 最近记录: |