【发布时间】:2018-04-21 05:27:42
【问题描述】:
我试图找出一个字符串是否存在于多个列中。如果字符串存在,我想返回 1,如果它不作为数据框中的新系列,我想返回 0。
搜索论坛后,我知道可以使用 str.contains,但我搜索了 100 多个列,因此一次处理单个系列对我来说效率不高。
如果相关,列中有一些 NA。
示例简化数据框:
d = {'strings_1': ['AA', 'AB', 'AV'], 'strings_2': ['BB', 'BA', 'AG'],
'strings_1': ['AE', 'AC', 'AI'], 'strings_3': ['AA', 'DD', 'PP'],
'strings_4': ['AV', 'AB', 'BV']}
simple_df = pd.DataFrame(data=d)
例如,如果我有兴趣查找“AA”,我想返回以下数据框。
示例目标数据框:
d = {'strings_1': ['AA', 'AB', 'AV'], 'strings_2': ['BB', 'BA', 'AG'],
'strings_1': ['AE', 'AC', 'AI'], 'strings_3': ['AA', 'DD', 'PP'],
'strings_4': ['AV', 'AB', 'BV'], 'AA_TRUE': [1, 0, 0]}
target_df = pd.DataFrame(data=d)
非常感谢您的帮助。
【问题讨论】:
-
你有字符串列表吗?你说 `1 如果字符串存在`哪个字符串?
-
在我的示例中它是 AA,但是是的,会有一个我感兴趣的列表。我可能会单独分配它们,因为我想要多个标签。
-
下次也将其添加到问题中。我们怎么能猜到你有一个包含 ['AA'] 的列表?
-
谢谢会做(在例子中不是很明显吗?)