我有一个包含短语的多列的数据框。我想做的是
例如:启动Dataframe:
我想最终得到这个:
New_var是新变量,它选择观察1的col1中的响应,因为苹果酱中的“apple”与列表中的“apple”匹配。观察2会出现大橙子,因为它与列表中的“橙子”相匹配。
我尝试使用此链接中的列表理解来执行此操作: List Comprehension,但仍未成功。我希望在python中这样做。有什么建议?我对这种编程语言比较陌生。
非常感谢你。如果我发布的内容不合适或者答案存在,我还没找到,我很欣赏任何指导方向。
答案 0 :(得分:0)
让我们按照您的提及获取单词和数据框列表
lst = ['a','m','n','o','p']
df = pd.DataFrame({'Observation': [1], 'col1': ['ab'], 'col2': ['dc'], 'col3': ['ef'], 'col4': ['yz']})
df
Observation col1 col2 col3 col4
0 1 ab dc ef yz
检查数据框的值是否与列表中的值匹配
df['New_var'] = [x for x in df.values[0] if any(b for b in lst if b in str(x))]
df
Observation col1 col2 col3 col4 New_var
0 1 ab dc ef yz ab