python - 如何加入具有相同类别的两个数据框?
问题描述
现在,我有两个数据框。我用过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
解决方案
>>> 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
推荐阅读
- dialogflow-es - Dialogflow:在单个查询中匹配多个实体条目
- android - OpenSTF 显示连接的 Android 设备,但在准备和连接的 iOS 设备未显示后断开连接
- python - 将 dd、mm、yy 数组转换为 numpy 日期时间
- swift - iOS开发中cookie的等价物是什么
- java - 在java中运行curl命令不起作用
- node.js - 使用 win.webContents.send 在渲染器中使用 Electron 序列化参数失败
- ruby-on-rails - 我在 Ruby on rails 上的 Ajax 调用中出现 404 错误
- google-cloud-platform - Google AI Platform 培训 - 等待作业完成
- docker - 如何在 docker 下本地运行 SharePoint 2019
- json - jq - 选择后获取更高级别的键