Как проанализировать разделенную от вкладки строку текста в Ruby?

Из документов :

Итеративное добавление строк в DataFrame может быть более сложным в вычислительном отношении, чем одна конкатенация. Лучшее решение - добавить эти строки в список, а затем объединить список с исходным кадром DataFrame сразу.

blockquote>

Вы можете так же легко добавить свои данные в список и создать экземпляр DataFrame со списком.

import pandas as pd

container = []

for a in x:
    # get the text you want
    text = 'somestring'
    char_list = [i for i in text]
    container.append(char_list)

# now create your DataFrame
frame = pd.DataFrame(container, columns=['Col1','Col2', 'Col3',  'Col4', 'Col5','Col6', 'Col7', 'Col8','Col9', 'Col10', 'Col11', 'Col12', 'Col13', 'Col14'])

Пример:

In [1]: datlist = [[i for i in '01234567890123'] for ii in range(10)]

In [2]: datlist
Out[2]:
[['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3'],
 ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3']]

In [3]: pd.DataFrame(datlist, columns=range(len(datlist[0])))
Out[3]:
  0  1  2  3  4  5  6  7  8  9  10 11 12 13
0  0  1  2  3  4  5  6  7  8  9  0  1  2  3
1  0  1  2  3  4  5  6  7  8  9  0  1  2  3
2  0  1  2  3  4  5  6  7  8  9  0  1  2  3
3  0  1  2  3  4  5  6  7  8  9  0  1  2  3
4  0  1  2  3  4  5  6  7  8  9  0  1  2  3
5  0  1  2  3  4  5  6  7  8  9  0  1  2  3
6  0  1  2  3  4  5  6  7  8  9  0  1  2  3
7  0  1  2  3  4  5  6  7  8  9  0  1  2  3
8  0  1  2  3  4  5  6  7  8  9  0  1  2  3
9  0  1  2  3  4  5  6  7  8  9  0  1  2  3

7
задан Brian Tompsett - 汤莱恩 22 June 2016 в 13:28
поделиться

1 ответ

Я не уверен, что вполне понимаю Ваш вопрос, но если Вы хотите разделить строки на символах табуляции, можно указать что как аргумент разделению:

line.split("\t").each ...

или можно указать его как регулярное выражение:

line.split(/\t/).each ...

Каждый в основном просто выполняет итерации через все объекты в массиве, и разделение производит массив из строки.

18
ответ дан 6 December 2019 в 10:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: