Ответ 1
Если lakes
- ваш DataFrame
, вы можете сделать что-то вроде
area_dict = dict(zip(lakes.area, lakes.count))
У меня есть фрейм данных Pandas с несколькими столбцами, и я хотел бы построить dict из двух столбцов: один в качестве ключей dict, а другой в качестве значений dict. Как я могу это сделать?
Dataframe:
area count
co tp
DE Lake 10 7
Forest 20 5
FR Lake 30 2
Forest 40 3
Мне нужно определить область как ключ, считать значение в dict. Заранее спасибо.
Если lakes
- ваш DataFrame
, вы можете сделать что-то вроде
area_dict = dict(zip(lakes.area, lakes.count))
С пандами это можно сделать так:
Если озера - это ваш DataFrame:
area_dict = lakes.to_dict('records')
Вы также можете сделать это, если хотите поиграть с пандами. Тем не менее, я люблю Punchagan способ.
# replicating your dataframe
lake = pd.DataFrame({'co tp': ['DE Lake', 'Forest', 'FR Lake', 'Forest'],
'area': [10, 20, 30, 40],
'count': [7, 5, 2, 3]})
lake.set_index('co tp', inplace=True)
# to get key value using pandas
area_dict = lake.set_index('area').T.to_dict('records')[0]
print(area_dict)
output: {10: 7, 20: 5, 30: 2, 40: 3}