【发布时间】:2016-03-17 21:30:26
【问题描述】:
使用 pandas read_csv() 函数,我读取了一个 iso-8859-1 文件,如下所示:
df = pd.read_csv('path/file', \
sep = '|',names =['A','B'], encoding='iso-8859-1')
然后,我想使用 MLLib 的 word2vect。但是,它只接受 RDDs 作为参数。所以我尝试将 pandas 数据帧转换为 RDD,如下所示:
from pyspark.sql import SQLContext
spDF = sqlContext.createDataFrame(df['A'])
spDF.show()
无论如何,我遇到了以下异常:
TypeError: Can not infer schema for type: <type 'unicode'>
我去Pyspark's documentation是为了看看有没有类似编码参数的东西,但是没有找到。知道如何将特定的 pandas 数据框列转换为 Pyspark RDD?。
更新:
来自@zeros 的回答是我尝试将列保存为数据框,如下所示:
new_dataframe = df_3.loc[:,'A']
new_dataframe.head()
然后:
from pyspark.sql import SQLContext
spDF = sqlContext.createDataFrame(new_dataframe)
spDF.show()
我也遇到了同样的异常:
TypeError: Can not infer schema for type: <type 'unicode'>
【问题讨论】:
标签: python python-2.7 pandas pyspark pyspark-sql