Извлечение информации из словарей в Pandas [закрыто]Python

Программы на Python
Anonymous
Извлечение информации из словарей в Pandas [закрыто]

Сообщение Anonymous »

У меня есть фрейм данных:

Код: Выделить всё

import pandas as pd

d1 = str([{"Alice": "1/2"}, {"Bob": "3/11"}, {"Charlotte": "5/2"}])
d2 = str([{"Bob": "2/7"}, {"Daniel": "4/5"}])
d3 = str([{"Emily": "12/5"}])
d4 = str([{"Bob": "4/11"}, {"Victor": "2/2"}, {"Bob": "5/6"}])
df = pd.DataFrame([d1, d2, d3, d4], columns=['visits'])
Я думаю, что каждая строка соответствует палате в клинике, и каждый словарь содержит имя пациента, который был в этой палате, и день, когда он там был. Я хочу создать новый столбец для каждого пациента, в котором будет подсчитано, сколько раз каждый пациент был в каждой палате (сколько словарей в столбце имеют это имя в качестве ключа):

Код: Выделить всё

df_desired = pd.DataFrame(
[[d1, 1, 1, 1, 0, 0, 0],
[d2, 0, 1, 0, 1, 0, 0],
[d3, 0, 0, 0, 0, 1, 0],
[d4, 0, 2, 0, 0, 0, 1]],
columns=['visits', 'Alice', 'Bob', 'Charlotte', 'Daniel', 'Emily', 'Victor'])
Как это реализовать? Я не знаю, кем будут все пациенты (ключи в словаре). Итерация построчно — неправильный ответ, поскольку производительность очень низкая.

Вернуться в «Python»