我正在比较数据帧中两列的(子)字符串
根据这个thread的建议,如果列manual_label
和prediction
之间存在对应关系,我现在能够将条件设置为TRUE,如果没有对应关系,则设置为FALSE
下面是我使用的代码的快照:
argument_cols = ['prediction']
boolean_idx = df[argument_cols].apply(
lambda arg_column: df['manual_label'].combine(arg_column, lambda token, arg: token in arg)
)
df['boolean_idx'] = boolean_idx
pd.options.display.width=None
print(df)
df.to_csv('csv_file_w_pred.csv',sep=',',index=False)
生成的数据帧如下所示:
subject manual_label prediction value boolean_idx
A __label__Religione_e_Magia (__label__Bibbia_storie_dal_Vecchio_e_dal_Nuov... ... False
B __label__Religione_e_Magia (__label__Religione_e_Magia,__label__Storia) ... True
C __label__Mitologia_classica_e_storia_antica (__label__Societa_civilizzazione_cultura,) ... False
D __label__Essere_umano_uomo_in_generale (__label__Essere_umano_uomo_in_generale,) ... True
E __label__Religione_e_Magia (__label__Religione_e_Magia,) ... True
列prediction
可以有多个标签
但是,如果条件是True
,我希望得到满足条件的值,如果条件是False
,我希望得到colprediction
中的第一个值,正如我前面所说,它可以有多个标签
期望输出:
subject manual_label prediction value boolean_idx
A __label__Religione_e_Magia (__label__Bibbia_storie_dal_Vecchio_e_dal_Nuov... ... __label__Bibbia_storie_dal_Vecchio_e_dal_Nuovo_Testamento
B __label__Religione_e_Magia (__label__Religione_e_Magia,__label__Storia) ... __label__Religione_e_Magia
C __label__Mitologia_classica_e_storia_antica (__label__Societa_civilizzazione_cultura,) ... __label__Societa_civilizzazione_cultura
D __label__Essere_umano_uomo_in_generale (__label__Essere_umano_uomo_in_generale,) ... __label__Essere_umano_uomo_in_generale
E __label__Religione_e_Magia (__label__Religione_e_Magia,) ... __label__Religione_e_Magia
建议
问候
如果有人需要,我会按如下方式解决问题
相关问题 更多 >
编程相关推荐