按行条件将两列或多列组合成新的列

2023-12-03

我想根据行条件(1,一个整数)将两列或更多列合并成一个新列,新列应该是包含连接字符串的列。

我尝试使用非零来过滤零的行,但失败了。

index LAWSUIT BOARD-MEETING
A          1    0
B          0    0
C          1    1
D          0    1

尝试过这个,但它只是合并了所有索引:

rdf['NEW'] = rdf.apply(lambda x: ','.join(x.index) if x.nonzero() else 0, axis=1)

预计“新”列应如下所示:

index LAWSUIT BOARD-MEETING   NEW
A          1    0             LAWSUIT
B          0    0
C          1    1             LAWSUIT,BOARD-MEETING
D          0    1             BOARD-MEETING

任何帮助将不胜感激!


Use:

final=df.assign(NEW=(df.dot(df.columns+',').str[:-1]))

       LAWSUIT  BOARD-MEETING                    NEW
index                                               
A            1              0                LAWSUIT
B            0              0                       
C            1              1  LAWSUIT,BOARD-MEETING
D            0              1          BOARD-MEETING
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按行条件将两列或多列组合成新的列 的相关文章

随机推荐