我有一个数据框,在这里我使用get dummies创建了几个列(例如df.earth、df.wind、df.water、df.fire、df.heart)和groupby来聚合行,所以现在一行可以有多个1的虚拟列。数据帧现在如下所示:
大地风水火心
12 0 1 1 0 1
13 1 0 0 0 0
14 1 0 1 0 0
我需要创建一个列,该列检查每个伪列,并写入适用于每一行的列名,如下所示:
大地风水火心力
12 0 1 1 0 1风、水、心
地球、水
14 10 10 10土、水、心
我真的不知道从哪里开始,我的搜索也没能走多远。

最佳答案

使用

df['Powers'] = df.apply(lambda s: ', '.join(s.index[s.eq(1)]), axis=1)

关于python - 使用伪列中的文本字符串创建数据框列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55540899/

10-14 16:08
查看更多