проблемы с возвратом фрейма данных pyspark для цикла for - PullRequest
0 голосов
/ 10 июня 2019

Я подаю заявку на петлю в pyspark.Как я могу получить фактические значения в кадре данных.Я также выполняю объединения и фильтрацию данных.

Я не добавил сюда набор данных, мне нужен подход или код psuedo, чтобы просто выяснить, что я здесь делаю.

Помощь действительно приветствуется,Я застрял с тех пор.

values1 = values.collect() 
temp1 = []
for index, row in enumerate(sorted(values1, key=lambda x:x.w_vote, reverse = False)):
    tmp = data_int.filter(data_int.w_vote >= row.w_vote)
    # Left join service types to results
    it1 = dt.join(master_info,dt.value == master_info.value, 'left').drop(dt.value)
    print(tmp)
    it1 = it1.withcolumn('iteration',F.lit('index')).otherwise(it1.iteration1)
    it1 = it1.collect()[index]
    # concatenate the results to the final hh list
    temp1.append(it1)
    print ('iterations left:', total_values - (index+1), "Threshold:", row.w_vote)

Проблема, с которой я сталкиваюсь, заключается в том, что вывод temp1 выглядит следующим образом

DataFrame[value_x: bigint, value_y: bigint, type_x: string, type_y: string, w_vote: double]
iterations left: 240 Threshold: 0.1
DataFrame[value_x: bigint, value_y: bigint, type_x: string, type_y: string, w_vote: double]
iterations left: 239 Threshold: 0.2

Почему мои фактические значения не отображаются в uutput в виде списка

1 Ответ

1 голос
/ 10 июня 2019

print, примененный к Dataframe, выполняет метод __repr__ dataframes, который вы и получаете. Если вы хотите напечатать содержимое кадра данных, используйте либо show, чтобы отобразить первые 20 строк, либо collect, чтобы получить полный кадр данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...