gpt4 book ai didi

python - 连接列值直到倒数第二个有效事务(非零或非空)

转载 作者:行者123 更新时间:2023-12-01 00:33:10 27 4
gpt4 key购买 nike

我想将交易与其倒数第二个有效交易连接起来。假设我有直到第四笔交易的列,并且我想生成如下输出的序列。
注意:反式列中的值是分类的。

输入数据:

| Cust_id    | trans_1 | trans_2 | trans_3 | trans_4 |
|------------|---------|---------|---------|---------|
| 1000026037 | 'a' | 'b' | 'd' | NaN |
| 1000026048 | 'm' | 'c' | NaN | NaN |
| 1000026081 | 'x' | 't' | 'y' | NaN |
| 1000026451 | 'r' | 'p' | NaN | 'u' |

所需输出:
|序列|
|----------|
| 'a b' |
| '我' |
| 'x t' |
| 'r p'|

最佳答案

选择事务列并获取数据,直到倒数第二个非零并连接。

df.filter(regex='trans_')
.apply(lambda x: x.iloc[x.nonzero()].iloc[:-1], axis=1)
.add(' ')
.sum(axis=1)
.str.strip()

或者

df.filter(regex='trans_')
.apply(lambda x: ' '.join(x.iloc[x.nonzero()].iloc[:-1]), axis=1)

注意

确保所有零都是整数零而不是字符串零,即 0 而不是 '0'

df = df.replace({'0': 0})

关于python - 连接列值直到倒数第二个有效事务(非零或非空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58021690/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com