Извлечение int из строки в Pandas
скажем, у меня есть dataframe df
as
A B
1 V2
3 W42
1 S03
2 T02
3 U71
Я хочу иметь новый столбец (либо в конце df
или заменить колонки B
С ним, поскольку это не имеет значения), который только извлекает int из столбца B
. То есть я хочу колонку C
выглядеть
C
2
42
3
2
71
поэтому, если перед числом есть 0, например, для 03, то я хочу вернуть 3 Не 03
как я могу это сделать?
3 ответов
вы можете преобразовать в строку и извлечь целое число с помощью регулярных выражений.
df['B'].str.extract('(\d+)').astype(int)
Я написал небольшой цикл для этого, так как у меня не было строк в фрейме данных, а в списке. Таким образом, вы также можете добавить немного оператора if для учета поплавков:
output= ''
input = 'whatever.007'
for letter in input :
try :
int(letter)
output += letter
except ValueError :
pass
if letter == '.' :
output += letter
output = float (выход)
или вы можете int (output), если хотите.