Я очень новичок в регулярных выражениях, поэтому я борюсь со своим кодом.
У меня есть датафрейм, df
, структурированный так:
NAME PERCENT
0 APPLE COMPANY A 57 638 232 stocks 0.12322
1 BANANA 1 COMPANY B 12 946 201 stocks 0.02768
2 ORANGE COMPANY C 8 354 229 stocks 0.01786
df = pd.DataFrame({
'NAME': ['APPLE COMPANY A 57 638 232 stocks', 'BANANA 1 COMPANY B 12 946 201 stocks', 'ORANGE COMPANY C 8 354 229 stocks'],
'PERCENT': [0.12322, 0.02768 , 0.01786]
})
Я хочу извлечь целые числа из NAME
, но не все целые (обратите внимание, что в строке 1 у нас есть BANANA 1 COMPANY B
, где я хочу игнорировать целое число 1
перед COMPANY
. Я хочу извлечь только те целые числа перед stocks
.
Я хочу, чтобы вывод выглядел так:
NAME PERCENT STOCKS
0 APPLE COMPANY A 0.12322 57638232
1 BANANA 1 COMPANY B 0.02768 12946201
2 ORANGE COMAPNY C 0.01786 8354229
Пока у меня есть только то, что не дает того, что я хочу:
df['NAME'].str.findall(r'\b\d+\b')
Редактировать: обратите внимание, что количество акций может изменяться от тысяч до миллионов, что означает отсутствие модели.