У меня есть кадр данных с определенными столбцами и строками и в котором мне нужно добавить префикс к строкам из одного из столбцов, если он соответствует определенному условию,Как добавить префикс в строки столбцов if (условия выполнены)
df = pd.DataFrame({'col':['a',0,2,3,5],'col2':['PFD_1','PFD_2','PFD_3','PFD_4','PFD_5']})
Samples=pd.DataFrame({'Sam':['PFD_1','PFD_5']})
и мне нужно добавить суффикс к df.col2 на основе значений в образцах dataframe, и я попытался его np.where следующим образом,
df['col2'] = np.where(df.col2.isin(samples.Sam),'Yes' + df.col2, 'Non_'+ df.col2)
Whhich бросает ошибку, как,
TypeError: can only perform ops with scalar values
Это не возвращает то, что я прошу, и бросали ошибки в конце концов кадр данных должен выглядеть,
>>>df.head()
col col2
a Yes_PFD_1
0 no_PFD_2
2 no_PFD_3
3 no_PFD_4
5 Yes_PFD_5
Для меня это работает, какая ошибка? – jezrael
Переименование 'Образцы' на' образцы' должно сделать трюк. –
'df ['col2'] = np.where (df.col2.isin (samples.Sam), 'Yes_' + df.col2, 'no _' + df.col2)' need, но кажется, что что-то еще не так , – jezrael