Может ли кто-нибудь предложить мне эффективный способ преобразования списка словарей в виде фрейма данных pandas?
Input = [[{'name':'tom','roll_no':1234,'gender':'male'},
{'name':'sam','roll_no':1212,'gender':'male'}],
[{'name':'kavi','roll_no':1235,'gender':'female'},
{'name':'maha','roll_no':1211,'gender':'female'}]]
Ключи словаря такие же в представленном образце ввода, и ожидаемый результат:
Output = name roll_no gender
0 tom 1234 male
1 sam 1212 male
2 kavi 1235 female
3 maha 1211 female
Раздел «Подведение итогов» в вашем ответе охватывал вложенные словари в списке, но не то, что я спросил, то есть вложенный список внутри списка со словарями.
О, ммммм, просто сведите списки; from itertools import chain; pd.DataFrame(list(chain.from_iterable(Input))) это довольно просто.
Спасибо за Ваш ответ. Это упоминается в вашем ответе в [stackoverflow.com/questions/20638006/…?
Вы правы, это не так. Откроется снова.






Вам нужно будет сгладить ввод с помощью itertools.chain, а затем вы можете вызвать конструктор pd.DataFrame.
from itertools import chain
pd.DataFrame(list(chain.from_iterable(data)))
gender name roll_no
0 male tom 1234
1 male sam 1212
2 female kavi 1235
3 female maha 1211
Пожалуйста, посмотрите связанный дубликат, особенно мой ответ на этот вопрос.