Как извлечь значения ключей словаря с каждого уровня в кадр данных? Я использовал pd.json_normalize, но он не соответствует моим потребностям, поскольку предыдущие ключи используются в качестве префиксов. Это то, что я пробовал
import pandas as pd
myfamily = {
"child1": {
"name": "Emil",
"year": 2004
},
"child2": {
"name": "Tobias",
"year": 2007,
"child3": {
"name": "Ken",
"year": 2003
}
}
}
df = pd.json_normalize(myfamily, sep='_')
Мне нужен результат
pd.DataFrame({
"name": ["Emil", "Tobias", "Ken"],
"year": [2004, 2007, 2003]})
Предположим, что словарь вложен гораздо глубже и имеет аналогичную структуру на каждом уровне, как в примере. Однако мне бы хотелось, чтобы что-то работало, когда порядок и количество ключей на каждом уровне различны. Например, этот словарь должен давать тот же результат. Также я заранее знаю все названия клавиш.
myfamily = {
"child1": {
"name": "Emil",
"year": 2004
},
"child2": {
"name": "Tobias",
"year": 2007,
"child3": {
"year": 2003
"name": "Ken",
}
}
}
Этот словарь
myfamily = {
"child1": {
"name": "Emil",
"year": 2004
},
"child2": {
"name": "Tobias",
"year": 2007,
"age" : 1
}
}
должен дать результат
pd.DataFrame({
"name": ["Emil", "Tobias"],
"year": [2004, 2007],
"age": [None, 1]})
Подробнее здесь: https://stackoverflow.com/questions/798 ... with-diffe