我有以下数据框:
Name
0 [Scrap]
1 [Machinery, Scrap]
2 [RMG]
3 [Leather]
4 [Machinery]
5 [RMG, Optical Frame, Machinery]
我想检查“名称”列中是否存在“废料”或“机械”。像下面这样:
Name Type
0 [Scrap] True
1 [Machinery, Scrap] True
2 [RMG] False
3 [Leather] False
4 [Machinery] True
5 [RMG, Optical Frame, Machinery] True
我试过下面的代码。
df['Type'] = df.apply(lambda x: ["Scrap", "Iron","Machinery"] in x["Name"], axis=1)
但是,我得到以下结果:
Name Type
0 [Scrap] False
1 [Machinery, Scrap] False
2 [RMG] False
3 [Leather] False
4 [Machinery] False
5 [RMG, Optical Frame, Machinery] False
这是使用.apply
.
前任:
to_check = ("Scrap", "Iron","Machinery")
df = pd.DataFrame({"Name": [["Scrap"], ["Machinery", "Scrap"], ["RMG"], ["Leather"], ["Machinery"], ["RMG", "Optical Frame", "Machinery"]]})
df['Type'] = df["Name"].apply(lambda x: any(i in x for i in to_check))
print(df)
输出:
Name Type
0 [Scrap] True
1 [Machinery, Scrap] True
2 [RMG] False
3 [Leather] False
4 [Machinery] True
5 [RMG, Optical Frame, Machinery] True
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句