Python 基于现有列创建新列。使用1或0
以下是数据帧: 我想以二进制格式添加4个新列(“商务旅行”、“休闲”、“团体”、“情侣”和“情侣”)。如果该行包含“商务旅行”,则在“商务旅行”列中为该行输出1,如果不输出0。其他列的逻辑相同。以下是预期的输出:Python 基于现有列创建新列。使用1或0,python,dataframe,for-loop,split,conditional-statements,Python,Dataframe,For Loop,Split,Conditional Statements,以下是数据帧: 我想以二进制格式添加4个新列(“商务旅行”、“休闲”、“团体”、“情侣”和“情侣”)。如果该行包含“商务旅行”,则在“商务旅行”列中为该行输出1,如果不输出0。其他列的逻辑相同。以下是预期的输出: 事实上,我自己想出了以下解决方案,如果您还有其他更好的解决方案,请告诉我。谢谢 from re import search def tags(data, tag): data[tag] = data['Review_tags'].apply(lambda x: 1 if s
事实上,我自己想出了以下解决方案,如果您还有其他更好的解决方案,请告诉我。谢谢
from re import search
def tags(data, tag):
data[tag] = data['Review_tags'].apply(lambda x: 1 if search(tag, x) else 0)
return data
tags(df, 'Leisure')
tags(df, 'Business')
tags(df, 'Couple')
tags(df, 'Group')
看,这回答了你的问题吗?不完全是,在你的链接中,它回答了如何获取现有两个分类列的假人。我只有一列,每行包含多个字符串。我想创建4个新列,并根据此行是否包含该字符串返回1或0。我找到了另一种方法!
data[tag]=数据['Review_tags'].str.count(tag)