У меня есть датафрейм, где каждая строка является словарем, однако ключи в каждом словаре различаются. Я хотел бы перебрать каждую строку и получить один список со всеми уникальными ключами. Кто-нибудь знает, как это сделать?
Я попробовал этот код
np.unique(np.array(train.totals.apply(lambda x: ast.literal_eval(x).keys())))
Но это дает уникальные комбинации dict_keys (), а не уникальные комбинации клавиш.
Например, допустим, у меня есть две строки. Как уже упоминалось выше, значения столбцов для каждой строки представляют собой словарь. Ключи словаря для строки 1 - это фрукты и овощи, а ключи словаря для строки 2 - фрукты, овощи и зерно.
Приведенный выше код выдаст
dict_keys(['fruit','vegetable'])
и
dict_keys(['fruit','vegetable','grain'])
Однако я хочу, чтобы вывод был просто списком или массивом с фруктами, овощами и зерном (уникальные ключи, видимые в строках).
Редактировать: добавлен снимок экрана с кадром введите описание изображения здесь
edit2: Пример кода ниже
import pandas as pd
import numpy as np
import ast
dummy_data = [['A',str({"pageviews":"1","hits":"1"})],['B',str({"pageviews":"1","visits":"1"})]]
dummy_df = pd.DataFrame(dummy_data,columns = ['ID','totals'])
np.unique(np.array(dummy_df.totals.apply(lambda x: ast.literal_eval(x).keys())))