熊猫数据框映射到新的对象列表[重复]
Posted
技术标签:
【中文标题】熊猫数据框映射到新的对象列表[重复]【英文标题】:Pandas dataframe map to a new list of objects [duplicate] 【发布时间】:2022-01-06 16:18:10 【问题描述】:我是 python 新手,所以每个提示都会有所帮助:)
我有一个包含多列的 pandas 数据框,我需要将其转换为新的对象列表。在所有数据框列中,我有两个(纬度,经度)我想要在我的新对象中作为属性。
index | city | lat | lon |
---|---|---|---|
0 | London | 42.33 | 55.44 |
1 | Rome | 92.44 | 88.11 |
我的新对象列表需要如下所示:
[
'lat': 42.33, 'lon': 55.44,
'lat': 92.44, 'lon': 88.11
]
更具体地说,我需要使用 ML Studio 进行机器学习。
谢谢!
【问题讨论】:
【参考方案1】:使用 Pandas.DataFrame.to_dict(orient)
将 DataFrame 转换为字典。有多种字典方向;对于您的情况,请使用orient='records'
您还想只选择lat & lon
列,如下所示:
df[['lat','lon']].to_dict(orient='records')
这将为您提供结果:
['lat': 42.33, 'lon': 55.44, 'lat': 92.44, 'lon': 88.11]
您可以尝试以下一些其他方向:
‘dict’ (default) : dict like column -> index -> value
‘list’ : dict like column -> [values]
‘series’ : dict like column -> Series(values)
‘split’ : dict like ‘index’ -> [index], ‘columns’ -> [columns], ‘data’ -> [values]
‘records’ : list like [column -> value, … , column -> value]
‘index’ : dict like index -> column -> value
【讨论】:
感谢@drew wood。它有效:pandas.pydata.org/docs/reference/api/…【参考方案2】:您可以选择您想要的列,然后使用to_dict
和orient='records'
来获得所需的结果
df[["lat", "lon"]].to_dict(orient='records')
【讨论】:
谢谢@Tom Ron!我现在在 Pandas 文档中看到了它。 pandas.pydata.org/docs/reference/api/…以上是关于熊猫数据框映射到新的对象列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章