Как преобразовать SQLContext DataFrame в RDD векторов в Python?

datascience.stackexchange https://datascience.stackexchange.com/questions/6308

  •  16-10-2019
  •  | 
  •  

Вопрос

У меня есть кадр данных SQLContext, полученную из кадры данных Pandas, состоящей из нескольких численных столбцов. Я хочу выполнить Многофакторный статистический анализ с использованием pyspark.mllib.stats упаковка. Статистическая функция ожидает RDD векторов. Я не мог преобразовать этот кадр данных в RDD векторов. Есть ли способ преобразовать кадр данных?

Код:

 rdd = sqlCtx.createDataFrame(df_new)
 summary = Statistics.colStats(rdd)

Я получаю df_new от

 df_new = df.applymap(lambda s: dic.get(s) if s in dic else s) #df is a pandas dataframe

Я получаю ошибку py4jjava на суммарной линии. Проблема с форматом RDD.

Это было полезно?

Решение

API DataFrame Python раскрывает RDD DataFrame, вызывая следующее:

df.rdd # you can save it, perform transformations of course, etc. 

df.rdd возвращает контент как pyspark.rdd of Row.

Затем вы можете составить на карту этот RDD строки, преобразующий каждую строку в numpy вектор. Я не могу быть более конкретным в отношении преобразования, так как не знаю, что ваш вектор представляет в данной информации.

Примечание 1: dfэто переменная определяет наш флажок данных.

ПРИМЕЧАНИЕ 2: Эта функция доступна с Spark 1.3

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top