web-dev-qa-db-fra.com

python pandas: les colonnes du cadre de données converties en clé et valeur dict

Une structure de données Python Pandas avec plusieurs colonnes, il ne faut que deux colonnes pour dict. Une en tant que clé de dict et une autre en tant que valeurs de dict. Comment puis je faire ça?

Trame de données:

           area  count
co tp
DE Lake      10      7
Forest       20      5
FR Lake      30      2
Forest       40      3

Besoin de définir zone comme clé, compte comme valeur dans dict. Merci d'avance.

39
perigee

Si lakes est votre DataFrame, vous pouvez faire quelque chose comme

area_dict = dict(Zip(lakes.area, lakes.count))
102
punchagan

Avec les pandas, cela peut être fait comme:

Si lakes est votre DataFrame: 

area_dict = lakes.to_dict('records')
0
user2643517

Vous pouvez également le faire si vous voulez jouer avec des pandas. Cependant, j'aime bien le style de 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}
0
SammyRod