我的数据框中有如下数据
文本 | 标签1 | 标签2 | 标签3 | 标签4 | 标签 |
---|---|---|---|---|---|
Hello my name is john | 1 | 0 | 1 | 0 |
我想根据1和0来填充标签列,使其看起来像这样
文本 | 标签1 | 标签2 | 标签3 | 标签4 | 标签 |
---|---|---|---|---|---|
Hello my name is john | 1 | 0 | 1 | 0 | [‘标签1′,’标签3’] |
我该如何用Python实现?
回答:
好的,这是来自这个回答的一个未经测试的建议。尝试收集合适的列标签,然后对合适的函数使用DataFrame.apply:
test_cols = [c for c in df.columns if c[:5].lower() == 'label']test_cols.remove('Labels')def aggLabels(aSeries): return [lab for lab in test_cols if aSeries[lab]==1]df['Labels'] = df.apply(aggLabels, axis=1)
正如我所说,这是未经测试的;可能需要对代码进行一些调整。