Как извлечь значения ключей словаря с каждого уровня в кадр данных? Я использовал 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 ... -dataframe
Извлечение значений вложенного словаря в плоские данные для фрейма данных ⇐ Python
Программы на Python
1770360698
Anonymous
Как извлечь значения ключей словаря с каждого уровня в кадр данных? Я использовал 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]})
Подробнее здесь: [url]https://stackoverflow.com/questions/79883151/extract-nested-dictionary-values-into-flat-data-for-dataframe[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия