Парафраз из Брайана Баттона:
Вы можете преобразовать в строку и извлечь целое число с помощью регулярных выражений.
df['B'].str.extract('(\d+)').astype(int)
Я написал небольшой цикл, чтобы сделать это, поскольку у меня не было строк в DataFrame, но в списке. Таким образом, вы также можете добавить инструкцию little для оператора float:
output= ''
input = 'whatever.007'
for letter in input :
try :
int(letter)
output += letter
except ValueError :
pass
if letter == '.' :
output += letter
output = float (output)
или вы можете использовать int (output), если хотите.
Предполагая, что всегда существует ровно одна ведущая буква
df['B'] = df['B'].str[1:].astype(int)