[英]Python Dataframe: Fill in Row as 1 or 0 Based on If Column Name is Contained in String Row of Another Column in Dataframe
假设我们有一个数据框,其中有一列称为“ Col_Strings”。 该列有3万行。 我只显示表格的前三行
接下来,我将向数据框添加一堆其他列。
我想使用这样的逻辑:如果我的列名包含在“ Col_Strings”行中,那么我希望该值表示1 ...否则为0。
下面是一个示例表(第一行是列名):
Col_Strings 2C GAD D2 6F ABCDE
2C 1B D2 6F ABC 1 0 1 1 0
Act Dog House GAD 0 1 0 0 0
D2 6F Ant 0 0 1 1 0
基于其他人的帮助,我可以通过从头开始创建数据框来执行以下操作。 但是我的问题是,当我已经有一个数据框并需要引用“ Col_Strings”来确定1或0时,如何使用上述python逻辑?
将函数映射到数据库列Col_Strings
,检查单词是否包含在每个元素中。 将结果分配给该列
df['Act'] = df['Col_Strings'].map(lambda x: int('Act' in x.split())
如果您有要为其创建列的单词列表,请循环执行以上逻辑:
for word in ['Act', 'Now', 'Buy', 'MORE']:
df[word] = df['Col_Strings'].map(lambda x: int(word in x.split())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.