繁体   English   中英

Python数据框:根据数据框另一列的字符串行中是否包含列名,将行填充为1或0

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM