Мне нужно извлечь цифру из столбца строки.Но str.extract (\ d) не работает для строки, состоящей только из чисел.
df['extract'] = df['original'].str.extract('(\d+)')
Пожалуйста, смотрите фрейм данных как словарь:
{'original': {0: 'NO RATING',
1: 4,
2: '3-',
3: 3,
4: '4-',
5: '2-',
6: '2+',
7: '4+',
8: '5-',
9: 5,
10: '5+',
11: 2,
12: '3+',
13: '6+',
14: '6-',
15: 6,
16: 7},
'extract': {0: nan,
1: nan,
2: '3',
3: nan,
4: '4',
5: '2',
6: '2',
7: '4',
8: '5',
9: nan,
10: '5',
11: nan,
12: '3',
13: '6',
14: '6',
15: nan,
16: nan}}
df - это фрейм данных pd с 2 столбцами, df ['orginal'] содержит значения типа 2+, 2-, 2, 3-, 3, 3+, NO RATING.
код работает, генерирует новый столбец df ['extract'], которыйисправить для таких значений, как 2- (дает 2), 3+ (дает 3), НЕТ РЕЙТИНГА (дает NaN).Но это неправильно для значений типа 2 (дает NaN, но я ожидаю 2) и 3 (дает NaN, но я ожидаю 3).
мой результат