Python 如何使用从dataframe输入的值范围创建字典?

Python 如何使用从dataframe输入的值范围创建字典?,python,pandas,dictionary,Python,Pandas,Dictionary,我有一个数据框,其中包含一系列用于分类的值。它看起来像这样: df = pd.DataFrame(columns=['Place','lower limit','upper limit'],data=[['NY',0,1000],['MS',1001,2000],['AL',2001,3000],['BS',3001,4000],['CL',4001,5000],['FL',5001,6000]]) df 我需要创建一个字典,分别用place、lower limit和upper limit给出

我有一个数据框,其中包含一系列用于分类的值。它看起来像这样:

df = pd.DataFrame(columns=['Place','lower limit','upper limit'],data=[['NY',0,1000],['MS',1001,2000],['AL',2001,3000],['BS',3001,4000],['CL',4001,5000],['FL',5001,6000]])
df
我需要创建一个字典,分别用place、lower limit和upper limit给出值的位置和范围。比如:

dictionary =  dict({'NY':range(0,1000), 'MS':range(1001,2000)})
但是,由于我的数据帧很长,我不能用手来做。如何从数据帧上的信息自动创建字典

对不起,如果这个问题以前已经得到了回答,但我到处找了,什么也没找到

注意:我想要一本字典的原因是因为我以后要对一个很长的文件进行分类,字典是最快的方法。 提前感谢。

您可以使用df.to_口述和口述理解:

{k: range(v['lower limit'], v['upper limit'])
 for k, v in df.set_index('Place').to_dict(orient='index').items()}
 {a:range(b,c) for a,b,c in zip(df['Place'], df['lower limit'], df['upper limit'])}
您可以使用df.to_dict和dict理解:

{k: range(v['lower limit'], v['upper limit'])
 for k, v in df.set_index('Place').to_dict(orient='index').items()}
 {a:range(b,c) for a,b,c in zip(df['Place'], df['lower limit'], df['upper limit'])}

只是从列表理解中创建一个dict:

{k: range(v['lower limit'], v['upper limit'])
 for k, v in df.set_index('Place').to_dict(orient='index').items()}
 {a:range(b,c) for a,b,c in zip(df['Place'], df['lower limit'], df['upper limit'])}

只是从列表理解中创建一个dict:

{k: range(v['lower limit'], v['upper limit'])
 for k, v in df.set_index('Place').to_dict(orient='index').items()}
 {a:range(b,c) for a,b,c in zip(df['Place'], df['lower limit'], df['upper limit'])}

这是非常容易理解和完美的工作。非常感谢。这很容易理解,而且效果很好。非常感谢你。