数据框列与列表匹配并创建新列

Dataframe column match with list and create new columns

我有数据框 DF 列 A,检查数据框列中有多少列表 a=["enter", 'Enter', 'Click', 'click'] 可用, 并在相同的名称上创建另一个列 B。我希望我的数据框看起来像这样:

DF=       A
       "enter Username"
       "click UserBox"
       "Enter Password"
       "Click login"
       "click checkbox"
       "Enter Phonenumber"

输出:

DF=       A                         B
       "enter Username"             enter
       "click UserBox"              click
       "Enter Password"             Enter
       "Click login"                Click
       "click checkbox"             click
       "Enter Phonenumber"          Enter 

使用 Series.apply with set intersection 使用运算符 &:

In [1003]: s = set(a)
In [994]: df['B'] = df['A'].apply(lambda x: (set(x.split()) & s).pop() if len((set(x.split()) & s)) > 0 else '')

In [995]: df
Out[995]: 
                   A      B
0     enter Username  enter
1      click UserBox  click
2     Enter Password  Enter
3        Click login  Click
4     click checkbox  click
5  Enter Phonenumber  Enter