Я использую PySpark Python3 - Spark 2.1.0, и у меня есть список списков различий, таких как:
lista_archivos = [[['FILE','123.xml'],['NAME','ANA'],['SURNAME','LÓPEZ'],
['BIRTHDATE','05-05-2000'],['NATIONALITY','ESP']], [['FILE','458.xml'],
['NAME','JUAN'],['SURNAME','PÉREZ'],['NATIONALITY','ESP']], [['FILE','789.xml'],
['NAME','PEDRO'],['SURNAME','CASTRO'],['BIRTHDATE','07-07-2007'],['NATIONALITY','ESP']]]
Этот список содержит элементы различной длины.Итак, теперь я хотел бы создать DataFrame из этого списка, где столбцы - это первый атрибут (т. Е. 'FILE, NAME, SURNAME, BIRTHDATE, NATIONALITY), а данные - второй атрибут.
Как выКак видно, во втором списке нет столбца «BIRTHDATE», мне нужен DataFrame для создания этого столбца с NaN или пробелом в этом месте.
Кроме того, мне нужно, чтобы DataFrame был таким:
FILE NAME SURNAME BIRTHDATE NATIONALITY
----------------------------------------------------
123.xml ANA LÓPEZ 05-05-2000 ESP
458.xml JUAN PÉREZ NaN ESP
789.xml PEDRO CASTRO 07-07-2007 ESP
Данные списков должны быть в тех же столбцах.
Я сделал этот код, но он не похож на таблицу, которую я хотел бы:
dictOfWords = { i : lista_archivos[i] for i in range(0, len(lista_archivos) ) }
d = dictOfWords
tabla = pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in dictOfWords.items() ]))
tabla_final = tabla.transpose()
tabla_final
Кроме того, я сделал это:
dictOfWords = { i : lista_archivos[i] for i in range(0, len(lista_archivos) ) }
print(dictOfWords)
tabla = pd.DataFrame.from_dict(dictOfWords, orient='index')
tabla
И результат не очень хороший.
Я бы хотел использовать DataFrame для панд и DataFrame для Spark, если это возможно.
Спасибо !!