dat*_*tam 4 python dataframe python-3.x pandas
我想尝试建立一个包含特定词典的列表。我希望结构类似于以下内容:
\n\n[{'label': 'Abdelnaby, Alaa', 'value': '76001'},\n{'label': 'Abdul-Aziz, Zaid', 'value': '76002'},\n{'label': 'Abdul-Jabbar, Kareem', 'value': '76003'}]\nRun Code Online (Sandbox Code Playgroud)\n\n目前,我从中提取的数据位于 pandas 数据框中。下面的例子...
\n\nPlayerID Name Current Player First Season Last Season\n76001 Abdelnaby, Alaa 0 1990 1994\n76002 Abdul-Aziz, Zaid 0 1968 1977\n76003 Abdul-Jabbar, Kareem 0 1969 1988\n51 Abdul-Rauf, Mahmoud 0 1990 2000\n1505 Abdul-Wahad, Tariq 0 1997 2003\nRun Code Online (Sandbox Code Playgroud)\n\n如果这足够了,请告诉我\xe2\x80\x8b。非常感谢你的帮助!
\n选择您的列,重命名它们并调用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}]
Run Code Online (Sandbox Code Playgroud)
您可以通过更改为.to_dict('r')来输出 JSON .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}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |