Выберите ваши столбцы, переименуйте их и позвоните to_dict
с помощью orient='records'
, чтобы получить список диктов,
(df.reindex(['Name', 'PlayerID'], axis=1)
.set_axis(['label', 'value'], axis=1, inplace=False)
.to_dict('r'))
# [{'label': 'Abdelnaby, Alaa', 'value': 76001},
# {'label': 'Abdul-Aziz, Zaid', 'value': 76002},
# {'label': 'Abdul-Jabbar, Kareem', 'value': 76003},
# {'label': 'Abdul-Rauf, Mahmoud', 'value': 51},
# {'label': 'Abdul-Wahad, Tariq', 'value': 1505}]
Вы можете вывести JSON, изменив .to_dict('r')
на .to_json(orient='records')
.
Если производительность имеет значение, вот оптимизированное решение с построением понимания списка.
[dict(zip(('label', 'value'), r)) for r in df[['Name', 'PlayerID']].values]
# [{'label': 'Abdelnaby, Alaa', 'value': 76001},
# {'label': 'Abdul-Aziz, Zaid', 'value': 76002},
# {'label': 'Abdul-Jabbar, Kareem', 'value': 76003},
# {'label': 'Abdul-Rauf, Mahmoud', 'value': 51},
# {'label': 'Abdul-Wahad, Tariq', 'value': 1505}]