Манипулирование столбцами на основе значений заголовков в строкахPython

Программы на Python
Anonymous
Манипулирование столбцами на основе значений заголовков в строках

Сообщение Anonymous »

У меня есть фрейм данных Pandas со столбцом, содержащим разные типы значений, и я хочу создать из него новый столбец на основе информации внутри этого столбца. Каждые несколько строк содержат своего рода строку «заголовка», которая должна определять значения для следующих строк до следующей строки заголовка, которая затем определяет значения для следующих строк и так далее.
Чтобы лучше понять, вот пример:

Код: Выделить всё

import pandas as pd

import pandas as pd

data = {'AA': ['', '', '', 'V_525-124', 'gsdgsd', 'hdfjhdf', 'gsdhsdhsd', 'gsdgsd', 'V_535-623', 'hosdfjk', 'hjodfjh', 'hjsdfjo',  'V_563-534', 'hojhdfhjdf', 'hodfjhjdfj', 'hofoj', 'hkdfphdf']}
df = pd.DataFrame(data)

print(df)
Я хочу создать новый столбец BB, который будет выглядеть так:

Код: Выделить всё

import pandas as pd

data = {'AA': ['', '', '', 'V_525-124', 'gsdgsd', 'hdfjhdf', 'gsdhsdhsd', 'gsdgsd', 'V_535-623', 'hosdfjk', 'hjodfjh', 'hjsdfjo',  'V_563-534', 'hojhdfhjdf', 'hodfjhjdfj', 'hofoj', 'hkdfphdf'],
'BB': ['', '', '', 'V_525-124', 'V_525-124', 'V_525-124', 'V_525-124', 'V_525-124', 'V_535-623', 'V_535-623', 'V_535-623', 'V_535-623',  'V_563-534', 'V_563-534', 'V_563-534', 'V_563-534', 'V_563-534']}
df = pd.DataFrame(data)

print(df)
Количество строк под каждым «заголовком» варьируется, поэтому сценарий должен как бы проверить, является ли следующая строка типом заголовка, затем добавить значение заголовка в столбец BB, а затем переместить вниз по таблице, пока не будет обнаружен новый заголовок. Я могу думать только о цикле for с индексами и операторами if, но я уверен, что Pandas предлагает более элегантное решение.
Все «заголовки» начинаются с «V_», если это поможет. .

Подробнее здесь: https://stackoverflow.com/questions/789 ... ithin-rows

Вернуться в «Python»