Python 如何使用for循环按条件查找数据

Python 如何使用for循环按条件查找数据,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我有一个DataFrame名称expense,它有一个列名price。现在,我想分别为price=50100500制作不同的数据帧,如df50为price=50,df100为price=100,df500为price=500,与原始数据帧费用不同。我使用了下面的代码 pr=[32,50,75,110,150,210,260] for i in pr: dfi = expence.loc[expence['price']==i] 但是当我在做打印(df50) 它正在显示 NameErr

我有一个DataFrame名称expense,它有一个列名price。现在,我想分别为price=50100500制作不同的数据帧,如df50为price=50,df100为price=100,df500为price=500,与原始数据帧费用不同。我使用了下面的代码

pr=[32,50,75,110,150,210,260]
for i in pr:
    dfi = expence.loc[expence['price']==i] 
但是当我在做
打印(df50)
它正在显示

NameError:未定义名称“df50”

我知道这是可以做到的

df50 = expence.loc[expence['price']==50]
但我必须为这么多的价值(几乎100)在价格。正因为如此,我想使用for循环

有谁能帮我解决这个问题,或者给我一些更好的建议。

使用字典

pr=[32,50,75,110,150,210,260]
df = {expense.loc[expence['price'] == i] for i in pr}
print(df[50])

将结果放入字典中,并使用
df[i]
。巴默,你能给我写一点代码吗。我对它很陌生,所以它会帮助我理解。实际上,我不知道如何使用它。几分钟前我发布了一个答案。它显示了TypeError:“DataFrame”对象是可变的,因此它们不能被哈希。我不是熊猫专家,也许你需要添加
。str
pr=[32,50,75,110,150,210,260]
df = dict()
for i in pr:
    df[i] = expence.loc[expence['price']==i] # assign the value here

print(df[50])