Я не совсем понимаю, что вы хотите, поэтому вот два наиболее вероятных варианта:
Вариант 1
Преобразование столбца в тип float
с преобразованием '_000'
в np.nan
, а остальные в числовые c значения:
long_data['Numeric Score'] = long_data['Score'].str.replace('_', '').astype(float).replace(0., np.nan)
или как определение функции:
def score_cleaner(underscore):
return underscore.str.replace(
'_', '').astype(float).replace(0., np.nan)
long_data['Numeric Score'] = score_cleaner(long_data['Score'])
Вариант 2
Преобразовать столбец в тип object
с преобразованием '_000'
в строку 'NaN'
, а остальное оставить как есть:
long_data['Numeric Score'] = long_data['Score'].str.replace('_000', 'NaN')
и снова определяется как функция:
def score_cleaner(underscore):
return underscore.str.replace('_000', 'NaN')
long_data['Numeric Score'] = score_cleaner(long_data['Score'])