Python Pandas: как читать сгруппированные данные, разделенные headres?

У меня есть дата в текстовом файле:

AL012015, Kevin, 20, 20151108, 1800, , XY, 22.2A, 71.5B, 30, 10, 20151108, 1800, , XY, 22.2A, 71.5B, 30, 10, 20151108, 1800, , ZZ, 22.2A, 71.5B, 30, 10, AL022015, Mike, 20, 20151108, 1800, , XX, 22.2A, 71.5B, 30, 10, 20151108, 1800, , YY, 22.2A, 71.5B, 30, 10, 

Я хотел бы прочитать каждый фрагмент под AL012015 следующим образом:

 d['01']: 20151108, 1800, , XY, 22.2A, 71.5B, 30, 10, 20151108, 1800, , XY, 22.2A, 71.5B, 30, 10, 20151108, 1800, , ZZ, 22.2A, 71.5B, 30, 10, d['02']: 20151108, 1800, , XX, 22.2A, 71.5B, 30, 10, 20151108, 1800, , YY, 22.2A, 71.5B, 30, 10, 

обратите внимание, что 01 и 02 являются двумя цифрами после AL

One Solution collect form web for “Python Pandas: как читать сгруппированные данные, разделенные headres?”

Я думаю, вы можете применить предварительную обработку. Используя awk для получения нового файла с цифрами в следующем столбце, выполните следующие действия:

 $ awk -F, '/^AL/ {AL=substr($1,3,2);next}{print AL","$0}' file.txt 01,20151108, 1800, , XY, 22.2A, 71.5B, 30, 10, 01,20151108, 1800, , XY, 22.2A, 71.5B, 30, 10, 01,20151108, 1800, , ZZ, 22.2A, 71.5B, 30, 10, 02,20151108, 1800, , XX, 22.2A, 71.5B, 30, 10, 02,20151108, 1800, , YY, 22.2A, 71.5B, 30, 10, 

Затем вы можете использовать pandas более комфортно с помощью groupby операции. Предположим, что предыдущий вывод находится на file2.txt , вы можете сделать следующее:

 import pandas as pd df = pd.read_csv("file2.txt",sep=",",header=None) for gr,data in df.groupby(0):print(gr,"\n",data) 1 0 1 2 3 4 5 6 7 8 9 0 1 20151108 1800 XY 22.2A 71.5B 30 10 NaN 1 1 20151108 1800 XY 22.2A 71.5B 30 10 NaN 2 1 20151108 1800 ZZ 22.2A 71.5B 30 10 NaN 2 0 1 2 3 4 5 6 7 8 9 3 2 20151108 1800 XX 22.2A 71.5B 30 10 NaN 4 2 20151108 1800 YY 22.2A 71.5B 30 10 NaN 

Я надеюсь это тебе поможет.

С уважением.

  • Сумма продуктов пар в списке
  • Panda Dataframe Повторная выборка на основе критериев столбцов
  • Pandon pandas: заменить значения нескольких столбцов, соответствующих нескольким столбцам из другого фрейма данных
  • python pandas удаляет дубликаты в серии
  • SQL-подобные функции окна в PANDAS: Нумерация строк в Python Pandas Dataframe
  • Преобразование timedelta64 в секундах в Python Pandas DataFrame
  • Python - простой способ «сравнения» сопоставить один массив с другим
  • Как удалить лишние пробелы из строк при разборе файла csv в Pandas?
  • Python - лучший язык программирования в мире.