我有一个类似的数据框:
|column1 |
|a,b,c |
|d,b |
|a & b,c |
我希望像这样
column_a | column_b | column_c | column_d | column_a & b
1 | 1 | 1 |0 | 0
0 | 1 | 0 |1 | 0
1 | 1 | 1 |0 | 1
类似于获取假人,除了我每个单元格有多个字符串
我不相信单元格中有重复的字符串,所以没有' 2
任何帮助都将非常感谢!!!
答案 0 :(得分:1)
你可以从这样的事情开始:
data = '''|column1 |
|a,b,c |
|d,b |
|a & b,c |'''
rows = [r.strip() for r in data.replace('\n','').split('|')[3:] if r.strip() != '']
values = []
for r in rows:
values += r.split(',')
values = set(values)
print(' | '.join(['column_' + v for v in values]))
for r in rows:
output = ''
for v in values:
if v in r:
output += '1'
else:
output += '0'
output += ' | '
print(output)
你必须使用一些字符串格式才能让它看起来漂亮,但这应该可以让你开始。