У меня есть кадр данных, который выглядит так:
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
Как извлечь определенную часть из столбца фрейма данных и заполнить это значение в другом столбце? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение