Как извлечь определенную часть из столбца фрейма данных и заполнить это значение в другом столбце?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как извлечь определенную часть из столбца фрейма данных и заполнить это значение в другом столбце?

Сообщение Гость »

У меня есть кадр данных, который выглядит так:
df1:
section_id section_name
1.Test Summary9
1.1.Synopsis9
1.2.Schema12
1.3.1.Test Period I - Screening13
1.3.2.Period II - obes-Treatment 15
Synopsis

Test Period I - Screening

Как вы можете видеть, в нем также есть пустые строки. Как лучше всего заполнить столбец идентификатора раздела следующим образом:
section_id section_name
1 1.Test Summary9
1.1 1.1.Synopsis9
1.2 1.2.Schema12
1.3.1 1.3.1.Test Period I - Screening13
1.3.2 1.3.2.Period II - obes-Treatment 15
1.1 Synopsis
1.3.1 Test Period I - Screening

По сути, если имя раздела начинается с идентификатора раздела, то сразу извлеките и заполните. В случае, если похожее название раздела(ex:1.1.Synopsis9 and Synopsis) заполнить тот же идентификатор раздела, если пустое значение ничего не делает.
Я пробовал это, но в некоторых случаях это не работает. Предложите мне лучший способ сделать это:
импортировать pandas как pd
data = {
'section_name': [
'1.Test Summary9',
'1.1.Synopsis9',
'1.2.Schema12',
'1.3.1.Test Period I - Screening13',
'1.3.2.Period II - obes-Treatment 15',
'Synopsis',
'Test Period I - Screening'
]
}

df = pd.DataFrame(data)

def extract_section_id(section_name, current_section_id):
if section_name.startswith(current_section_id):
return current_section_id
else:
return section_name.split('.')[0]

current_section_id = ''
section_ids = []

for index, row in df.iterrows():
section_name = row['section_name'].strip()
if section_name != '':
section_id = extract_section_id(section_name, current_section_id)
current_section_id = section_id
else:
section_id = ''
section_ids.append(section_id)

df['section_id'] = section_ids

print(df)


Подробнее здесь: https://stackoverflow.com/questions/781 ... at-value-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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