У меня есть фрейм данных с одним из столбцов array<struct<key:string, value: string>>
. Я хочу разбить этот столбец на несколько столбцов, где значения элементов key
становятся именами этих столбцов, а значения элементов value
становятся значениями этих столбцов на основе key
. Может быть, картинка проиллюстрирует это лучше:
Учитывая столбец c
с массивом: [[name, John], [role, admin], [created_at, 1555757657654]]
, я хочу иметь фрейм данных следующей структуры:
+------+-------+---------------+
| name | role | created_at |
+------+-------+---------------+
| John | admin | 1555757657654 |
+------+-------+---------------+
Чтобы усложнить ситуацию кроме того, разные строки столбца c
могут иметь различный набор ключей, и все эти ключи должны стать столбцами, для которых в строках отсутствуют соответствующие ключи. Значение равно нулю.
PS для адресации XY Проблема , я хочу эффективно запрашивать строки на основе ключей и значений. Я пытался использовать функцию array_contains
для проверки наличия ключей в массиве, но обнаружил, что производительность недостаточна.