numpy Python:我可以基于搜索条件在一列文本序列中创建一个虚拟对象吗?

7rtdyuoh  于 2022-12-18  发布在  Python
关注(0)|答案(2)|浏览(101)

我想知道如何为以下条件创建一个伪变量:列'lemmatised'包含至少两个来自'innovation_words'的单词。Innovation_words是我自己定义的列表:

innovation_words = ['community', 'local', 'charity', 'event', 'partner',
                'volunteering', 'plastic', 'surplusfood']

lemmatized列如下所示(如果需要,我很好更改类型或格式):
data to use for condition
因此,如果任何观察结果包括例如 localplastic,我希望有一个虚拟变量:'innovation' = 1。希望有人能帮我这个忙。一些代码我已经试过了:

conditions = [df_posts['lemmatised'].isin(innovation_words), 
          df_posts['lemmatised'].isin(innovation_words)]

dummy = [1,0]

df_posts['innovation'] = np.select(conditions, dummy)
n53p2ov0

n53p2ov01#

也许你可以试试这个:

df_posts['innovation'] = 0 
df_posts.loc[df_posts.lemmatised.isin(innovation_words), 'innovation'] = 1
cczfrluj

cczfrluj2#

从此代码中使用

df['new']=df.lemmatised.map(lambda w: len([i for i in innovation_words if i in w])>1)

只需重命名变量

相关问题