0
我有一个具有特定列和行的数据框,并且如果它满足一定的条件,我需要为其中一列的行添加前缀,如果(条件符合),如何将前缀添加到列的行中
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,和我一起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
将'Samples'重命名为'samples'应该有效。 –
'df ['col2'] = np.where(df.col2.isin(samples.Sam),'Yes_'+ df.col2,'no _'+ df.col2)'需要但似乎还有其他问题。 – jezrael