以下是数据框示例:
...
import { LoginComponent } from './login/login.component';
...
describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
...
],
declarations: [
AppComponent,
LoginComponent
],
}).compileComponents();
...
现在,当id lists
1 ['dog', 'apple']
2 ['apple', 'cat']
3 ['pig', 'love']
4 ['help', 'out']
在列表中时,我想使用lambda函数创建另一列。
apple
我的第一个想法是使用以下代码,但出现语法错误:
id lists flag
1 ['dog', 'apple'] 1
2 ['apple', 'cat'] 1
3 ['pig', 'love'] 0
4 ['help', 'out'] 0
答案 0 :(得分:-1)
我认为您可以稍微修改代码并获得所需的结果,如下所示:
df["lists"].apply(lambda x: 1 if "apple" in x else 0)
如果苹果在列表中,则使用三元运算符返回1,否则返回0
或者如@Vaishali的评论中所述,您可以使用更简单的lambda并进行类型转换:
df["lists"].apply(lambda x: "apple" in x).astype(int)
这里的lambda返回一个布尔序列,当转换为整数时,该布尔序列将转换为1s和0s