【发布时间】:2020-11-05 19:11:17
【问题描述】:
我正在尝试根据列中是否存在值将我的行拆分为多行。我能够根据列值进行过滤,但想根据条件将行分成两部分,并只返回行的特定部分。数据框由不同类型的付款组成,活动字段表示发生的付款类型。我想在有特定的付款类型时将行分成两部分。在下面的示例中,当付款 2 存在时,我希望它是一个单独的交易。
我有以下数据框:
ID Payment 1 Payment 2 Payment 3 Payment 4 Payment 5 Activity
1 10 0 0 0 0 Payment 1
2 0 10 15 0 0 Payment 2, Payment 3
3 10 20 30 0 0 Payment 1, Payment 2, Payment 3
但我希望数据框是:
ID Payment 1 Payment 2 Payment 3 Payment 4 Payment 5 Activity
1 10 0 0 0 0 Payment 1
2 0 10 0 0 0 Payment 2
2 0 0 15 0 0 Payment 3
3 10 0 30 0 0 Payment 1, Payment 3
3 0 20 0 0 0 Payment 2
【问题讨论】:
-
可能会有更好的方法,但您可以在
"Payment 2,"和", Payment 2"上执行str.split(expand=True)。这样一来,当它们存在时,您就有了一列付款 2
标签: python pandas dataframe split rows