【问题标题】:Combine two row datas into one based on Condition using Pandas使用 Pandas 根据 Condition 将两行数据合二为一
【发布时间】:2021-12-02 14:39:40
【问题描述】:

我有以下两难境地,在网上找不到任何答案。

我在不同的行中有数据:

Payment 
Chq 102100
Payment Bank
Payment
Chq 123000

我需要帮助将带有 chq 编号的行组合到其上面的行,如下所示:

Payment Chq 102100
Payment Bank
Payment Chq 123000

有什么建议吗?

【问题讨论】:

  • 您的数据不明确,请作为数据框构造函数或字典提供
  • this 是您要找的吗?

标签: python pandas dataframe


【解决方案1】:

使用自定义组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

【讨论】:

    猜你喜欢
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 2016-02-06
    相关资源
    最近更新 更多