熊猫通过遍历列表中的名称来生成数据框

时间:2020-01-15 03:50:23

标签: python pandas dataframe for-loop jupyter-notebook

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

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中的特定首字母命名的数据框?

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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'])