Я пытаюсь объединить несколько кадров данных с помощью pd.concat. По сути, я пытаюсь следовать инструкциям из этого поста для четырехуровневого вложенного словаря.
Вот моя попытка с минимальным примером -
import pandas as pd
nested_dict = {
'level1': {
'level2': {
'level3': {
'level4': 'value'
}
}
}
}
for key0, value0 in nested_dict.items():
for key1, value1 in value0.items():
for key2, value2 in value1.items():
for key3, value3 in value2.items():
out = pd.concat(key3:{pd.DataFrame(key2:{pd.DataFrame(key1:{pd.DataFrame({key0: pd.DataFrame(value0)})})})}, axis = 1)
К сожалению, я получаю сообщение об ошибке -
out = pd.concat(key3:{pd.DataFrame(key2:{pd.DataFrame(key1:{pd.DataFrame({key0: pd.DataFrame(value0)})})})}, axis = 1)
^
SyntaxError: invalid syntax
Это результат, который я ищу -
level1
level2
level3
level4 value
Изменить –
Я следовал инструкциям, данным в ответе –
for key0, value0 in nested_dict.items():
for key1, value1 in value0.items():
for key2, value2 in value1.items():
for key3, value3 in value2.items():
out = pd.concat({key3:pd.DataFrame({key2:pd.DataFrame({key1:pd.DataFrame({key0: pd.DataFrame(value0)})})})}, axis = 1)
Теперь я получаю следующую ошибку:
Traceback (most recent call last):
File "/home/thoma/.config/JetBrains/PyCharmCE2023.2/scratches/scratch_14.py", line 16, in
out = pd.concat({key3:pd.DataFrame({key2:pd.DataFrame({key1:pd.DataFrame({key0: pd.DataFrame(value0)})})})}, axis = 1)
File "/home/thoma/anaconda3/envs/benchmark/lib/python3.8/site-packages/pandas/core/frame.py", line 663, in __init__
mgr = dict_to_mgr(data, index, columns, dtype=dtype, copy=copy, typ=manager)
File "/home/thoma/anaconda3/envs/benchmark/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 494, in dict_to_mgr
return arrays_to_mgr(arrays, columns, index, dtype=dtype, typ=typ, consolidate=copy)
File "/home/thoma/anaconda3/envs/benchmark/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 119, in arrays_to_mgr
index = _extract_index(arrays)
File "/home/thoma/anaconda3/envs/benchmark/lib/python3.8/site-packages/pandas/core/internals/construction.py", line 657, in _extract_index
raise ValueError("If using all scalar values, you must pass an index")
ValueError: If using all scalar values, you must pass an index
Подробнее здесь: https://stackoverflow.com/questions/781 ... ctionaries
Как использовать вложенные словари `pd.concat`? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как преобразовать вложенные объекты в вложенные DTO с использованием ModelMapper?
Anonymous » » в форуме JAVA - 0 Ответы
- 92 Просмотры
-
Последнее сообщение Anonymous
-