数据框列与列表匹配并创建新列
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
我有数据框 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