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

yipeiwu_com5年前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 实现多线程下载视频的代码

代码: def thread(url): r = requests.get(url, headers=None, stream=True, timeout=30) # pri...

详解使用Python处理文件目录的相关方法

所有文件都包含在各个不同的目录下,不过Python也能轻松处理。os模块有许多方法能帮你创建,删除和更改目录。 mkdir()方法 可以使用os模块的mkdir()方法在当前目录下创建新...

Python中规范定义命名空间的一些建议

API的设计是一个艺术活。往往需要其简单、易懂、整洁、不累赘。 很多时候,我们在底层封装一个方法给高层用,而其它的方法只是为了辅助这个方法的。 也就是说我们只需要暴露这个方法就行,不用关...

python每次处理固定个数的字符的方法总结

首先,来看每次处理一个字符的情况,可以有如下方法去实现:方法一:复制代码 代码如下:    >>> a='1234567' &n...

python 划分数据集为训练集和测试集的方法

sklearn的cross_validation包中含有将数据集按照一定的比例,随机划分为训练集和测试集的函数train_test_split from sklearn.cross_...