Как разбить pandas на файл данных, где строка содержит </ s> </ s> в python

1

У меня есть файл 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
Теги:

1 ответ

1
Лучший ответ

Пример того, что возможно:

код:

$ 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

Пояснения:

  • 0
    Мои данные выглядят в формате панд (pd.dataframe), как я могу это сделать?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню