Справочная информация:
Фактическая проблема, которую я пытаюсь решить, состоит в переходе от SparseVectors к Spark DataFrame и к массиву массивов.Поэтому в качестве шага 1 я решил вызвать UDF для нужного столбца.
spark.udf.register("sparseToArray", lambda x: x.toArray().tolist(), ArrayType(elementType=FloatType(), containsNull=False))
и назвал его так:
dense_input = input_df.selectExpr("sparseToArray(features) as features")
Так что теперь я могу вызывать toPandas (), но я 'В итоге я получил столбец «списка» объектов, который подводит меня к теме этого поста.
dense_input.toPandas()
# see below for how this shows up
Преобразованная проблема:
У меня есть одинсписок номеров столбцов, из которых я хотел бы создать столбцы в numpy
.Мне нужна помощь в этом.
Панды:
shape(3,1)
size = 3
Values: ndarray of lists
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 1 columns):
features 3 non-null object
dtypes: object(1)
memory usage: 104.0+ bytes
Sample:
'features'
0 list([1,2,3,4])
1 list([5,6,7,8])
2 list([9,10,11,12])
Я бы хотел быть ndarray как:
shape: [4,3]
[
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]
]