Я пытаюсь извлечь значения из строки во фрейме данных pandas, используя два других столбца в качестве индексов.
Мои данные выглядят так.
Address second_dot third_dot
0 1.273.1735.0 5 10
1 1.263.48.0 5 8
2 1.273.1341.0 5 10
3 1.273.1527.0 5 10
4 1.273.1379.0 5 10
5 1.273.1094.0 5 10
6 1.273.845.0 5 9
7 1.273.1393.0 5 10
8 1.275.988.0 5 9
9 1.273.973.0 5 9
В столбцах second_dot и third_dot я сохранил положение в пределах столбца 'address' относительно '.'персонажи.Я хотел бы извлечь из каждой строки все символы между второй и третьей точкой.
Результат должен выглядеть следующим образом:
Result
273
263
273
273
273
273
273
273
275
273
Мне уже удалось это сделать, используя команду apply на оси 1 с пользовательской функцией, но это занимает слишком много времени (у меня естьмиллионы или записи в моем фрейме данных. Учитывая, что адрес повторяется по строкам, я пытаюсь сгруппировать по вычислениям, надеясь ускорить.
Это моя последняя попытка, но она не работает.
df.groupby(['Address']).transform(lambda x :
x['Address'].str[x['first_dot']:x['second_dot']])
Я получаю ошибку -> KeyError: ('Address', 'occurred at index MachineIdentifier').
MachineIdentifier - первый столбец моего df (не индекс, обычный столбец)
Большое спасибозаранее