pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例

yipeiwu_com6年前Python基础

代码如下,步骤流程在代码注释中可见:

# -*- coding: utf-8 -*-
import pandas as pd
from pyspark.sql import SparkSession
from pyspark.sql import SQLContext
from pyspark import SparkContext
 
#初始化数据
 
#初始化pandas DataFrame
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['row1', 'row2'], columns=['c1', 'c2', 'c3'])
 
#打印数据
print df
 
#初始化spark DataFrame
sc = SparkContext()
if __name__ == "__main__":
 spark = SparkSession\
  .builder\
  .appName("testDataFrame")\
  .getOrCreate()
 
sentenceData = spark.createDataFrame([
 (0.0, "I like Spark"),
 (1.0, "Pandas is useful"),
 (2.0, "They are coded by Python ")
], ["label", "sentence"])
 
#显示数据
sentenceData.select("label").show()
 
#spark.DataFrame 转换成 pandas.DataFrame
sqlContest = SQLContext(sc)
spark_df = sqlContest.createDataFrame(df)
 
#显示数据
spark_df.select("c1").show()
 
 
# pandas.DataFrame 转换成 spark.DataFrame
pandas_df = sentenceData.toPandas()
 
#打印数据
print pandas_df

程序结果:

以上这篇pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python之用户输入的实例

Python之用户输入的实例

大多数程序都旨在解决最终用户的问题,为此,需要从用户那里获取一些信息。函数input()让程序暂停运行,等待用户输入一些文本。 例如: name = input("Please in...

python基础教程之循环介绍

循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。 for循环 for循环需要预先设定好循环的次数(n),然后执行隶...

python 简单备份文件脚本v1.0的实例

整体思路 将要备份的目录列为一个列表,通过执行系统命令,进行压缩、备份。 这样关键在于构造命令并使用 os.system( )来执行,一开始使用zip 命令始终没有成功,后来发现Wind...

Python之Class&Object用法详解

Python之Class&Object用法详解

类和对象的概念很难去用简明的文字描述清楚。从知乎上面的一个回答中可以尝试去理解: 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、...

详解Python中的type和object

详解Python中的type和object

type  所有类是type生成的 a = 1 b = "abc" print("type a:{}".format(type(a))) print("type int:{...