我有一个看起来像这样的Pandas数据集:单词及其特征的数据集
我想将“性别”列中的“ x”替换为以下条件:如果“单词”列中包含诸如“Mädchen”之类的单词列表,则应在“性别”列中添加“中性”前一个单词的行(是一个数字)。
因此,例如:
Gender Words
x 10.
x Mädchen
应该变成:
Gender Words
Neutral 10.
x Mädchen
我已经尝试过np.where
这样:
Food2_case["Gender"]= np.where(Food2_case.Words.isin(["Mädchen"]), (dropped_data.Words.str.contains('\d',regex= True) == 'A'), "x")
但是我有这个错误:
ValueError:操作数不能与形状(8000,)(275988,)()一起广播
请尝试以下操作:
for index, row in Food2_case.iterrows():
if(isinstance(row['Words'],str)):
if('Mädchen' in row['Words']):
Food2_case['Gender'][index-1] = 'Neutral'
如果我正确理解了您的问题,它应该可以工作。
[EDIT]如果您要检查以外的其他字词Mädchen
,可以执行以下操作:
words_to_check = ['Mädchen', ...]
for index, row in Food2_case.iterrows():
if(isinstance(row['Words'],str)):
if(any((x in row['Words'] for x in words_to_check))):
Food2_case['Gender'][index-1] = 'Neutral'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句