使用 pandasread_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 的文档以查看是否有类似编码参数的东西,但我没有找到任何东西。关于如何将特定的 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'>