У меня есть фрейм данных со столбцом идентификатора, который имеет объект dtype (так как содержит INT и STR), поэтому я пытаюсь использовать np.where
для замены каждого из них по очереди на следующее наибольшее число ... Однако по какой-то причине в В приведенном ниже примере он заменяет только одну из 2 строк, и я понятия не имею, почему?
df = pd.DataFrame({'IDstr':['480610_ABC_087', '78910_ABC_087','4806105017087','414149'],
'IDint':[ 0, 0, 4806105017087, 414149]})
print (df)
unique_str_IDs = df['IDstr'][df['IDstr'].str.contains("ABC", na=False)].unique()
for i in range(len(unique_str_IDs)):
df['SKUintTEST']=np.where(df['IDstr'] == unique_str_IDs[i].strip(),
df['SKUint_y'].max()+i+1, df['SKUint_y'])
У кого-нибудь есть идеи?