Попытка извлечь числовую c часть из столбца dtype ('O') и получить извлеченные данные в новом столбце или заменить существующий столбец.
В этом процессе метод apply не работал для приведенного ниже кода. При условии отслеживания также
код
def dpr_size(data_size):
split_size = re.split('(\d*.*\d)', data_size)
size = float(split_size[0])
return float(size)
df1['size_new'] = df1.size.astype('str').apply(dpr_size)
Отслеживание
AttributeError Traceback (последний вызов был последним) в () 5 return float (size) 6 ----> 7 df1 ['size_new'] = df1.size.apply (dpr_size)
AttributeError: у объекта 'numpy .int32' нет атрибута 'apply'
Перепробовал много других альтернатив, и теперь работает приведенный ниже код. код df1['size'] = df1['size'].astype('str')
for i in range(len(df1['size'])):
split_size = re.split('(\d*.*\d)', df1['size'][i])[1:]
df1['size'][i] = split_size[0]
Однако хотите выяснить, почему «apply» не работает
Данные