Пример: если ячейка содержит строку «ict1 - rio - Laboratorio Nuclear», новый столбец получит строка «рио». Если ячейка содержит строку «ict2 - bsb», новый столбец получит строку «bsb». Если ячейка содержит строку «ict3», новый столбец получит строку «nan».
Я пытался применить цикл for в определенном столбце, чтобы преобразовать строку ячейку в списке и получить второй элемент этого списка.
Пример:
Код: Выделить всё
matrix_entrada = [
(1, 'ictX'),
(2, 'ict - rio - estudos nucleares'),
(3, 'ict - ba - laboratorio IA'),
(4, 'ict132 - sp')]
df = pd.DataFrame(matrix_entrada, columns=['id', 'ict_name'])
for ict in df['ict_name']:
if len(ict.split('-')) > 1:
df['ict_state'] = ict.split('-')[1]
else:
df['ict_state'] = 'nan'
df
Код: Выделить всё
id ict_name ict_state
0 1 ictX sp
1 2 ict - rio - estudos nucleares sp
2 3 ict - ba - laboratorio IA sp
3 4 ict132 - sp sp
Код: Выделить всё
id ict_name ict_state
0 1 ictX nan
1 2 ict - rio - estudos nucleares rio
2 3 ict - ba - laboratorio IA ba
3 4 ict132 - sp sp
Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-pandas