【发布时间】:2021-05-03 00:48:36
【问题描述】:
我有一个如下的熊猫数据框:
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'],
'Phrases':['I have a cool family', 'I like avocados', 'I would like to go to school', 'I enjoy Harry Potter']})
以及关键字列表如下
l=['cool','avocado','lord of the rings']
我想在数据框中使用 True/False 值创建一个新列。这将取决于“短语”中的每个实体是否包含列表“l”的一个或多个关键字。在这种情况下,新列应为 True、True、False、False。
这对于短数据帧来说很简单,
for i in ...
str(bool([ele for ele in (keyword list) if(ele in df.Phrases[i])] ))
但是 for 循环对于 >1000000 行的数据帧是不合理的,就像我的真实数据帧一样。有没有更有效的方法来使用这些 True/False 值创建新列。
【问题讨论】:
标签: python pandas dataframe boolean