web-dev-qa-db-ja.com

python pandasデータフレーム列はdictキーと値に変換します

Python pandas複数列のデータフレームから、2列のみから辞書を作成したい。1つはdictのキーとして、もう1つはdictの値として。どうやってやるの?

データフレーム:

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

エリアをキーとして定義し、辞書の値としてカウントする必要があります。前もって感謝します。

55
perigee

lakesDataFrameである場合、次のようなことができます

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

pandasでは、次のように実行できます。

湖がDataFrameの場合:

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

パンダで遊んでみたい場合にもこれを行うことができます。しかし、私はパンチャガンのやり方が好きです。

# 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