如何加入两个具有相同类别的数据框?

How to join two dataframe with same category?

现在,我有两个数据框。我有使用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

您可以轻松执行的一种方法是使用 0 'before' 执行 groupby 函数来填充 NaN 值。所有零数据(以前为 NaN 值)将全部计为零。

df.fillna(0)
>>> 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