首页 > 解决方案 > Pandas 数据帧之间的多对多查找

问题描述

我试图收集有关计算机名称、它属于哪个部门、它提供什么服务的复杂信息。我找不到与此相关的答案或类似问题,并且我不清楚pd.merge()上的 pandas 文档。

我有一个名为server_list的数据框,其中每个服务器出现多次

  Server     Platform    Package    Version
0 UK1010     Unix        Java       1.1
1 UK1010     Unix        Java       4.1
2 UK1010     Unix        Java       5.0
3 UK1011     Windows     Java       1.2
4 UK1011     Windows     Java       4.4
...

我有一个名为applications的数据框,如下所示:

  Server     Department    Application    Environment
0 UK1010     Accounting    TaxMe          PROD
1 UK1010     Audit         TaxCheck       PROD
2 UK1010     CustomerForm  FillIt         PROD
...

每个服务器与部门、应用程序、环境有多种关系

我想要实现的是多对多关系,我可以从application中提取所有信息(所有行),并以某种方式将其与server_list结合起来,以便项目重复,除非有更好的方法?这是我希望实现的目标,但不确定如何设置pd.merge()如果这是正确的方法:

  Server     Platform    Package    Version   Department   Application  Environment
0 UK1010     Unix        Java       1.1       Accounting   TaxMe        PROD
1 UK1010     Unix        Java       1.1       Audit        TaxCheck     PROD
2 UK1010     Unix        Java       1.1       CustomerForm FillIt       PROD
3 UK1010     Unix        Java       4.1       Accounting   TaxMe        PROD
4 UK1010     Unix        Java       4.1       Audit        TaxCheck     PROD
5 UK1010     Unix        Java       4.1       CustomerForm FillIt       PROD
6 UK1010     Unix        Java       5.0       Accounting   TaxMe        PROD

这可以实现吗?如果,那么应该如何处理这个问题?(对不起,如果这个问题很模糊,我是使用 python 进行数据分析的新手)

标签: python-3.xpandasmergemany-to-many

解决方案


推荐阅读