熊猫数据框映射到新的对象列表[重复]

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_dictorient='records' 来获得所需的结果

df[["lat", "lon"]].to_dict(orient='records')

【讨论】:

谢谢@Tom Ron!我现在在 Pandas 文档中看到了它。 pandas.pydata.org/docs/reference/api/…

以上是关于熊猫数据框映射到新的对象列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将函数应用于两列并将输出映射到新列[重复]

删除熊猫数据框中每一行的标点符号[重复]

从日期时间范围创建熊猫数据框[重复]

我想将国家/地区列表与作为熊猫数据框 Python 中字典对象类型的列数据进行比较

涉及即时数据框对象的嵌套熊猫迭代

C#如何将模板对象数据复制到新对象,但没有地址[重复]