首页 > 解决方案 > 如何加入具有相同类别的两个数据框?

问题描述

现在,我有两个数据框。我用过groupby。和 count() 函数来导出这个数据帧(df1)。当我使用 groupby 时。统计每个类别的总数。它过滤掉了计数为0的类别。如何使用Python来获得结果?

但是,我希望有一个也需要类别的数据框。

原始数据框:

    Cat           UR3     VR1    VR    VR3
0   ATIDS         137.0   99.0   40.0  84.0
1   BasicCrane    2.0     8.0    3.0   1.0
2   Beam Sensor   27.0    12.0   13.0  14.0
3   CLPS          1.0     NaN    NaN   1.0

但是,我希望有一个也需要类别的数据框。(所需类别:ATIDS、BasicCrane、LLP、光束传感器、CLPS、SPR)

预期的数据帧(“LLP”和“SPR”的计数为 0)

    Cat           UR3     VR1    VR    VR3
0   ATIDS         137.0   99.0   40.0  84.0
1   BasicCrane    2.0     8.0    3.0   1.0
2   LLP           NaN     NaN    NaN   NaN
3   Beam Sensor   27.0    12.0   13.0  14.0
4   CLPS          1.0     NaN    NaN   1.0
5   SPR           NaN     NaN    NaN   NaN

标签: pythonpandasdataframejoinmerge

解决方案


>>> categories
['ATIDS', 'BasicCrane', 'LLP', 'Beam Sensor', 'CLPS', 'SPR']

>>> pd.merge(pd.DataFrame({'Cat': categories}), df, how='outer')
           Cat    UR3   VR1    VR   VR3
0        ATIDS  137.0  99.0  40.0  84.0
1   BasicCrane    2.0   8.0   3.0   1.0
2          LLP    NaN   NaN   NaN   NaN
3  Beam Sensor   27.0  12.0  13.0  14.0
4         CLPS    1.0   NaN   NaN   1.0
5          SPR    NaN   NaN   NaN   NaN

推荐阅读