Прочитайте 4 строки данных в одну строку фрейма данных pandas

У меня есть текстовый файл с такими значениями:

108,612,620,900
168,960,680,1248
312,264,768,564
516,1332,888,1596

Мне нужно прочитать все это в одну строку фрейма данных.

    0   1   2   3   4   5   6   7    8   9   10  11  12  13   14  15
0 108 612 620 900 168 960 680 1248 312 264 768 564 516 1332 888 1596

У меня много таких файлов, поэтому я буду добавлять строки в этот фрейм данных.

Я считаю, что нам нужно какое-то регулярное выражение, но я не могу понять это. На данный момент это то, что у меня есть:

df = pd.read_csv(f,sep = ",| ", header = None)

Но для этого в качестве разделителей используются , и (пробел), а я хочу, чтобы в качестве разделителя использовалась новая строка.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
267
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала прочитайте данные:

df = pd.read_csv('test/t.txt', header=None)

Это дает вам DataFrame в форме CSV. Затем соедините:

s = pd.concat((df.loc[i] for i in df.index), ignore_index=True)

Это дает вам серию:

0      108
1      612
2      620
3      900
4      168
5      960
6      680
7     1248
8      312
9      264
10     768
11     564
12     516
13    1332
14     888
15    1596
dtype: int64

Наконец, если вам действительно нужен горизонтальный DataFrame:

pd.DataFrame([s])

Дает тебе:

    0    1    2    3    4    5    6     7    8    9    10   11   12    13   14    15
0  108  612  620  900  168  960  680  1248  312  264  768  564  516  1332  888  1596

Поскольку вы упомянули в комментарии, что у вас много таких файлов, вам следует просто сохранить все серии в списке и создать DataFrame со всеми из них сразу, когда вы закончите их загрузку.

Другие вопросы по теме