您好,我正在尝试创建一个循环来自动执行下面的代码
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')]
我尝试了以下代码,但它仅生成“name”的数据框,而不是“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)]
如何生成以 name 中的名称和 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'])
关于python - pandas 通过循环列表中的名称来生成数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59744894/