У меня есть файл dataframe pandas. Я пытаюсь разбить столбец dataframe, содержащий </s> </s>
.
column A column B
(('<s>', '<s>'), 'abc') 0.043025210084033615
(('<s>', 'abc'), 'abc') 0.65234375
(('abc', 'abc'), 'abc') 0.04259501965923984
(('abc', 'abc'), 'abc') 0.18604651162790697
(('abc', 'abc'), '</s>') 0.41317365269461076
(('abc', '</s>'), '</s>') 0.011148272017837236
(('<s>', '<s>'), 'def') 0.09090909090909091
(('def', 'def'), 'def') 0.008287292817679558
(('def', 'def'), 'def') 0.13506493506493505
(('def', 'def'), '</s>') 0.007653061224489796
(('def', '</s>'), '</s>') 0.08333333333333333
(('<s>', '<s>'), 'ghi') 0.5
(('ghi', 'ghi'), 'ghi') 0.125
(('ghi', 'ghi'), 'ghi') 0.033766233766233764
(('ghi', 'ghi'), '</s>') 0.0694980694980695
(('ghi','</s>'), '</s>') 0.16666666666666666
Мне нужно получить выход ниже. Как это можно реализовать в python или Regex? Я новичок в Python.
column A column B
(('<s>', '<s>'), 'abc') 0.043025210084033615
(('<s>', 'abc'), 'abc') 0.65234375
(('abc', 'abc'), 'abc') 0.04259501965923984
(('abc', 'abc'), 'abc') 0.18604651162790697
(('abc', 'abc'), '</s>') 0.41317365269461076
(('abc', '</s>'), '</s>') 0.011148272017837236
column A column B
(('<s>', '<s>'), 'def') 0.09090909090909091
(('def', 'def'), 'def') 0.008287292817679558
(('def', 'def'), 'def') 0.13506493506493505
(('def', 'def'), '</s>') 0.007653061224489796
(('def', '</s>'), '</s>') 0.08333333333333333
column A column B
(('<s>', '<s>'), 'ghi') 0.5
(('ghi', 'ghi'), 'ghi') 0.125
(('ghi', 'ghi'), 'ghi') 0.033766233766233764
(('ghi', 'ghi'), '</s>') 0.0694980694980695
(('ghi','</s>'), '</s>') 0.16666666666666666
Пример того, что возможно:
код:
$ more replace.py
import re
input = """column A column B
(('<s>', '<s>'), 'abc') 0.043025210084033615
(('<s>', 'abc'), 'abc') 0.65234375
(('abc', 'abc'), 'abc') 0.04259501965923984
(('abc', 'abc'), 'abc') 0.18604651162790697
(('abc', 'abc'), '</s>') 0.41317365269461076
(('abc', '</s>'), '</s>') 0.011148272017837236
(('<s>', '<s>'), 'def') 0.09090909090909091
(('def', 'def'), 'def') 0.008287292817679558
(('def', 'def'), 'def') 0.13506493506493505
(('def', 'def'), '</s>') 0.007653061224489796
(('def', '</s>'), '</s>') 0.08333333333333333
(('<s>', '<s>'), 'ghi') 0.5
(('ghi', 'ghi'), 'ghi') 0.125
(('ghi', 'ghi'), 'ghi') 0.033766233766233764
(('ghi', 'ghi'), '</s>') 0.0694980694980695
(('ghi','</s>'), '</s>') 0.16666666666666666"""
print re.sub(r"(\(\('[^']*', '</s>'\), '</s>'\)\s+[0-9\.]+\s+)","\1\ncolumn A column B\n", input)
выход:
$ python replace.py
column A column B
(('<s>', '<s>'), 'abc') 0.043025210084033615
(('<s>', 'abc'), 'abc') 0.65234375
(('abc', 'abc'), 'abc') 0.04259501965923984
(('abc', 'abc'), 'abc') 0.18604651162790697
(('abc', 'abc'), '</s>') 0.41317365269461076
column A column B
(('<s>', '<s>'), 'def') 0.09090909090909091
(('def', 'def'), 'def') 0.008287292817679558
(('def', 'def'), 'def') 0.13506493506493505
(('def', 'def'), '</s>') 0.007653061224489796
column A column B
(('<s>', '<s>'), 'ghi') 0.5
(('ghi', 'ghi'), 'ghi') 0.125
(('ghi', 'ghi'), 'ghi') 0.033766233766233764
(('ghi', 'ghi'), '</s>') 0.0694980694980695
(('ghi','</s>'), '</s>') 0.16666666666666666
Пояснения: