【发布时间】:2020-07-15 11:23:00
【问题描述】:
我想比较元组列表中与数据框中的项目匹配的每个字符串。如果匹配,则将数据框中的单词对应的单词添加到元组中。
我的清单是这样的:
[('nan', 353), ('LEVEL SUBGROUPS', 12), (' SYSTEMS', 9), ('SYSTEMS', 8), (' PARALLEL ALGORITHMS', 7)]
我的数据框的列是:
Index(['subject', 'theme', 'keys'], dtype='object')
我想通过比较元组值和“键”将每个主题映射到元组。
我的一段代码是:
themes=[]
for each in list:
if each[0]=='nan':
continue
else:
for index,row in df.iterrows():
if str(row["keys"])==str(each[0]):
theme_89_93.append(str(row["theme"]))
当我比较字符串值时,它不会检查值,也不会输入 if 语句。请让我知道我做错了什么
【问题讨论】:
-
实际上,使用您的代码,如果某行类似于
row['keys']='SYSTEMS',您将追加row['theme']的值两次,因为在列表中有两个值与'SYSTEMS'匹配:是是有意还是只想匹配列表的唯一值? -
如果您考虑接受或投票以奖励帮助过您的人,或者如果有问题您也可以发表评论,那将是一件好事;)@AyushiSharma
标签: python string list dataframe tuples