您好,我正在尝试创建一个循环来自动化下面的代码

jacob = WT[(WT.Techs == 'JL') | (WT.Tech1 =='JL') | (WT.Tech2 =='JL') | (WT.Tech3 =='JL')]
marcus = WT[(WT.Techs == 'MO') | (WT.Tech1 =='MO') | (WT.Tech2 =='MO') | (WT.Tech3 =='MO')]


我尝试了以下代码,但是它仅为“名称”而不是“ jacob”或“ marcus”并且仅为列表中的姓氏生成数据框。

name = ('jacob', 'marcus')
tec = ('JL', 'MO')

for i in tec:
   name  = WT[(WT.Techs == i) | (WT.Tech1 == i) | (WT.Tech2 == i) | (WT.Tech3 == i)]


如何生成以名称中的名称和tec中的特定首字母命名的数据框?

谢谢!

最佳答案

尝试使用类似于以下代码的字典理解:

d = {x: WT[WT[['Techs', 'Tech1','Tech2','Tech3']].eq(y).all(1)] for x, y in zip(name, tec)]


调用它:

print(d['jacob'])
pritn(d['marcus'])

09-26 21:15
查看更多