首页 > 解决方案 > Pandas 基于整个数据框计算列值

问题描述

我有一个熊猫数据框,其中包含一列上的字典列表,所以现在我需要根据相同的数据框 id 更新该字典值列表,目前我所做的是在计算值时使用数据框作为查找,

id          name                ancestors
55324862    CTICC       [{'id': '6197560', 'type': 'neighbor'}, {'id': '6155003', 'type': 'city'}]
6197560  Cape Town City [{'id': '910', 'type': 'city'}, {'id': '6046820', 'type': 'vicinity'},{'id': '55324862', 'type': 'continent'}]
6046820  Cape Town      [{'id': '165', 'type': 'country'}, {'id': '55324862', 'type': 'continent'}]

我目前在做什么

我使用数据帧中的 id 和 name 列创建了一个循环 JSON 文件,并遍历数据帧的每一行,并使用查找文件生成祖先名称值。

我想要达到的目标

id          name                ancestors
55324862    CTICC       [{'id': '6197560', 'type': 'neighbor','name':'Cape Town City'}]
6197560  Cape Town City [{'id': '6046820', 'type': 'vicinity', 'name':'Cape Town'},{'id': '55324862', 'type': 'continent','name':'CTICC'}]
6046820  Cape Town      [{'id': '165', 'type': 'country','name':'YXZ'}, {'id': '55324862', 'type': 'continent','name': 'XYZ'}]

我想做的事:

我不想使用查找文件,因为我有大约 700K 记录来查找和设置名称,那么有没有其他方法可以在不使用查找文件的情况下做到这一点?

标签: pythonpandas

解决方案


推荐阅读