0
特定の列と行を持つデータフレームがあり、特定の条件を満たす場合は列の1つから行に接頭辞を追加する必要があります。条件を満たす場合に列の行に接頭辞を追加する方法
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でそれを試してみました、などのエラーがスローされますWhhich
df['col2'] = np.where(df.col2.isin(samples.Sam),'Yes' + df.col2, 'Non_'+ df.col2)
、
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