我对使用Python,PowerBI和/或Excel/VBA的解决方案持开放态度。
我有一个地址和名字的数据集。一个名称可以与许多地址相关,并且可以有许多名称与一个地址相关。
示例数据集:
| 姓名、名称| Name |
| --| ------------ |
| 约翰·史密斯| John Smith |
| 格雷格·琼斯| Greg Jones |
| 格雷格·琼斯| Greg Jones |
| 鲍勃·Jackson| Bob Jackson |
| 凯伦·Json| Karen Johnson |
所需解决方案:
我正在寻找一种方法来关联共享某个级别的地址或名称的行。例如,约翰·史密斯与格雷格·琼斯显然相关联,因为他们都共享地址123 XYZ,但在第二层,约翰·史密斯通过格雷格·琼斯与鲍勃·Jackson相关,因为鲍勃和格雷格共享地址456 ABC。我想为每组关系分配一个唯一的ID-这样John、Greg和Bob都将使用该字段关联起来,而Karen则不会。
示例输出:
| 姓名、名称|关系ID| Relationship ID |
| --|--| ------------ |
| 约翰·史密斯|一个| 1 |
| 格雷格·琼斯|一个| 1 |
| 格雷格·琼斯|一个| 1 |
| 鲍勃·Jackson|一个| 1 |
| 凯伦·Json|二个| 2 |
感谢任何帮助在这里!
1条答案
按热度按时间zvokhttg1#
下面是一个使用Python的快速解决方案:
在打开数据集(作为CSV文件)并将其转换为字典列表之后,我使用集合和条件来解释第一级和第二级关系,并为每行提供一个新属性“relationship_id”。
字符串
然后,您可以按自己喜欢的方式使用此列表。如果要将更新的行再次转换为CSV文件,可以执行以下操作:
型