138

I have a pandas data frame with multiple columns and I would like to construct a dict from two columns: one as the dict's keys and the other as the dict's values. How can I do that?

Dataframe:

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

I need to define area as key, count as value in dict. Thank you in advance.

4

6 に答える 6

323

lakesがあなたの場合DataFrame、次のようなことができます

area_dict = dict(zip(lakes.area, lakes.count))
于 2013-08-02T09:42:17.350 に答える
1

複数の列をキー/値として使用する場合にこの dict(zip(***)) アプローチを使用する方法について、@ Jessie Marksの質問に答えると、答えはzipを圧縮することです。例えば:

dict(zip(df['key'], zip(df["value col 1"], df_['value col 1'])))

または、複数の列をキーとして使用する場合:

dict(zip(zip(df['key 1'], df['key 2']), zip(df["value col 1"], df_['value col 1'])))

これは pandas v1.1.5 でうまくいきました。パイソン3.6.13

PS。申し訳ありませんが、@Jessie Marks の質問、その新しいアカウントに直接返信することはできません。まだ対応できません。

于 2021-05-12T01:25:39.917 に答える