У меня есть словарь, который я хотел бы превратить в кадр данных, а затем объединить некоторые столбцов этого кадра данных в один столбец.
мой словарь выглядит следующим образом:
mydict = {'Participants': {'source': ['1', '2', '3'],
'name': ['A', 'B', 'C'],
'Entry (1)': ['Address1', 'Address2', 'Address3'],
'Entry (2)': ['Number1', 'Number2', 'Number2'],
'Entry (3)': ['Start1', 'Start2', 'Start3']},
'Countries': {'DK': ['1', '2', '3'],
'UK': ['1', '3', '2'],
'CDN': ['3', '2', '1'],
'FR': ['1', '2', '3']}}
и результирующий кадр данных выглядит следующим образом: df = pd.DataFrame(mydict)
df:
Countries Participants
CDN [3, 2, 1] NaN
DK [1, 2, 3] NaN
Entry (1) NaN [Address1, Address2, Address3]
Entry (2) NaN [Number1, Number2, Number2]
Entry (3) NaN [Start1, Start2, Start3]
FR [1, 2, 3] NaN
UK [1, 3, 2] NaN
name NaN [A, B, C]
source NaN [1, 2, 3]
У меня есть несколько столбцов "Entry (n)", которые содержат "Address,Номер и старт "информация для каждого участника (df['Participants']['name']
).Теперь мне нужен дополнительный столбец «Записи», который объединяет для каждой строки информацию Entry (1)
, Entry (2)
и Entry(3)
.Так как количество записей (Entry (n)
варьируется от источника данных к источнику данных, мне нужно получить количество записей, например:
entries = re.findall(r'Entry \(\d\)', str(mydict['Participants'].keys()))
, что оставляет меня со спискомвсе записи: ['Entry (1)', 'Entry (2)', 'Entry (3)']
.
В конце я хотел бы получить такой фрейм данных:
Countries Participants
CDN [3, 2, 1] NaN
DK [1, 2, 3] NaN
Entry (1) NaN [Address1, Address2, Address3]
Entry (2) NaN [Number1, Number2, Number2]
Entry (3) NaN [Start1, Start2, Start3]
Entries Nan ['Address1\nNumber1\Start1', 'Address2\nNumber2\Start2', 'Address3\nNumber3\nStart3'] <<-- I need this
FR [1, 2, 3] NaN
UK [1, 3, 2] NaN
name NaN [A, B, C]
source NaN [1, 2, 3]
Может кто-нибудь подскажет, пожалуйста, какой конкретный способ для панды достичь?это?