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 

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

С уважением.

  • Как повернуть отметки по типу x-axis в панели Pandas barplot
  • Название или название столбца индекса Pandas
  • ImportError: Нет модуля с именем 'pandas'
  • В чем разница между размером и количеством в пандах?
  • Это ошибка Панды с notnull () или фундаментальное недоразумение с моей стороны (возможно, недоразумение)
  • Python: преобразовать timedelta в int в dataframe
  • Панда: где здесь утечка памяти?
  • Возвращаемое подмножество на основе списка логических значений
  • Почему Pandas Transform терпит неудачу, если у вас есть только одна колонка
  • Как импортировать файл gzip, превышающий размер RAM, в Pandas DataFrame? «Убить 9» Использовать HDF5?
  • pandas read_csv index_col = None не работает
  • Python - лучший язык программирования в мире.