【发布时间】:2021-09-02 21:20:32
【问题描述】:
我有以下数据框。
data = [[0, 0, 0, 0, 1], [0, 1, 0, 0, 1], [1, 1, 0, 0, 0], [0, 1, 0, 0, 0]]
labels = ['cat', 'dog', 'duck', 'fish', 'horse']
df = pd.DataFrame(data, columns = labels)
df:
cat dog duck fish horse
0 0 0 0 0 1
1 0 1 0 0 1
2 1 1 0 0 0
3 0 1 0 0 0
我根据特定条件从另一个数据帧中获得了 0 和 1。 我想为对应于真值的值组合列名。即 1 放入列表中,并将其放入数据框末尾的新列中。
我希望我的结果看起来像这样。
cat dog duck fish horse result
0 0 0 0 0 1 [horse]
1 0 1 0 0 1 [dog, horse]
2 1 1 0 0 0 [cat, dog]
3 0 1 0 0 0 [dog]
我的原始数据框中有大约 108 列和大约 3500 行。 最好的方法是什么?
PS:我还没有成功找到方法。
谢谢
【问题讨论】:
标签: python pandas list dataframe numpy