Обтекание текста столбцом данных в несколько столбцов с различными ограничениями длины - PullRequest
0 голосов
/ 31 января 2019

У меня есть фрейм данных с несколькими столбцами, наиболее важным из которых является заголовок.Мне нужно разделить этот заголовок на несколько столбцов (скажем, 4 столбца), и каждый из этих 4 столбцов имеет ограничение по длине (column1 = 10 символов, column2 = 15 символов, column3 = 15, column4 = 25).Я исследовал способы использования textwrap для этого, но не могу определить, как применить textwrap к фрейму данных.Итеративный процесс разбиения полной строки на ее слова и перекомпиляции при проверке перекомпилированной длины по ограничению также может быть вариантом.

Пример заголовка: Act fast. Limited space available.
Результат

Column1: Act fast.
Column2: Limited space
Column3: available.
Column4: (blank)

Чтобы это было действительно весело, я новичок в Python, поэтому, пожалуйста, будьте осторожны.

1 Ответ

0 голосов
/ 31 января 2019

См. Полное решение здесь:

import pandas as pd

d = {'junk': 'Act fast. Limited space available.'}
df = pd.DataFrame(d.values(), columns=['raw_text'])

df = df['raw_text'].str.extract(r'^(?P<column1>.{1,10}\b)(?P<column2>.{1,15}\b)(?P<column3>.{1,15}\b)(?P<column4>.{0,25}\b)', expand=True)
print(df)

Это дает

      column1         column2    column3 column4
0  Act fast.   Limited space   available        
...