python - 使用 Pandas 根据 Condition 将两行数据合二为一
问题描述
我有以下困境,在网上找不到任何答案。
我在单独的行中有数据:
Payment
Chq 102100
Payment Bank
Payment
Chq 123000
我需要帮助将带有 chq 编号的行组合到其上面的行,如下所示:
Payment Chq 102100
Payment Bank
Payment Chq 123000
有什么建议么?
解决方案
使用自定义组groupby
喜欢下面:
# Input data
>>> df
0
0 Payment
1 Chq 102100
2 Payment Bank
3 Payment
4 Chq 123000
# Output result
>>> df[0].str.strip() \
.groupby(df[0].str.contains('^Payment').cumsum()) \
.agg(' '.join).to_frame()
0
0
1 Payment Chq 102100
2 Payment Bank
3 Payment Chq 123000
推荐阅读
- reactjs - 如何使表格行可点击?
- android - 无法在 Google Play Developer Console 上上传针对多个 CPU 架构的多个 APK
- rest - DocuSign - 将完成的文档附加到 Salesforce 对象
- asp.net-mvc - 我应该使用哪种 PayPal 付款方式?
- sparql - sparql 中 BIND 方法的替代方法
- python - 函数没有遍历所有值并在循环中的第一个值之后停止
- html - 如何将样式应用于 td 和 th?
- sql - 关于使用 OPENJSON 解析嵌套数组的建议
- r - 将 glmer 输出(logit 回归)转换为概率
- python - 我在调整旧模块以使 sopel 与 python 3.7 不和谐运行时遇到问题