Как создать словарь с вводом диапазона значений из фрейма данных? - PullRequest
1 голос
/ 24 марта 2020

У меня есть Dataframe, который содержит диапазон значений для классификации. Это выглядит примерно так:

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

Мне нужно создать словарь с местом и диапазоном значений, заданных местом, нижним пределом и верхним пределом соответственно. Что-то вроде:

dictionary =  dict({'NY':range(0,1000), 'MS':range(1001,2000)})

Но, поскольку мой фрейм данных очень длинный, я не могу сделать это вручную. Как я могу автоматизировать этот процесс создания словаря из информации на фрейме данных?

Извините, если на этот вопрос уже был дан ответ, но я посмотрел везде и ничего не нашел.

Примечание: причина, по которой я Я хочу словарь, потому что мне придется потом классифицировать очень длинный файл, и словари - самый быстрый способ сделать это. Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 24 марта 2020

Вы можете использовать df.to_dict и понимание слова:

{k: range(v['lower limit'], v['upper limit'])
 for k, v in df.set_index('Place').to_dict(orient='index').items()}
1 голос
/ 24 марта 2020

Просто создание диктата из списка понимания:

 {a:range(b,c) for a,b,c in zip(df['Place'], df['lower limit'], df['upper limit'])}
...