python - pandas 通过循环列表中的名称来生成数据帧

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

我尝试了以下代码,但它仅生成“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/

相关文章:

python - 如何为文本小部件设置字符的最大宽度?

Python OOP - 解释 static 如何使用 type(self)

python - Pandas:迭代并插入具有组内条件的列复杂问题

r - 如何将 N 个命名的空数据帧初始化为 R 中的列表?

python - 如何修复 'DataFrame' 对象没有属性 'coalesce'?

python - 检查 pandas 数据框列中的值是否存在于另一列中。 isin 方法不起作用

Python - 从 numpy 数组中删除一行?

python - 即使没有类实例/对象,类中的打印语句也会被执行

python - 拆分数据并使用 Python 用实线和虚线绘制它们

python - 如何在 python pandas 中转换时间列并查找具有条件的时间增量