使用Pandas理解Python字典

cgfeq70w  于 2022-12-28  发布在  Python
关注(0)|答案(2)|浏览(128)

我正在尝试从DataFrame(df)的两列创建字典

mydict={x :y for x in df['Names'] for y in df['Births']}

但是所有的值都是相同的(列中的最后一个值)!

{'Bob': 973, 'Jessica': 973, 'John': 973, 'Mary': 973, 'Mel': 973}

我检查了该列,但它有许多其他值,我做错了什么?

0md85ypi

0md85ypi1#

我认为Abdou用dict(zip(dff['Names'], dff['Births']))击中了要害,但是如果你想用dict理解来做,你可以这样做:

In [1]: import pandas as pd

    In [2]: df = pd.DataFrame(
       ...: [{'Births': 971, 'Names': 'Bob'},
       ...:  {'Births': 972, 'Names': 'Jessica'},
       ...:  {'Births': 973, 'Names': 'John'},
       ...:  {'Births': 974, 'Names': 'Mary'},
       ...:  {'Births': 975, 'Names': 'Mel'}])

    In [3]: {d['Names']: d['Births'] for d in df.to_dict(orient='records')}
    Out[3]: {'Bob': 971, 'Jessica': 972, 'John': 973, 'Mary': 974, 'Mel': 975}
kx7yvsdv

kx7yvsdv2#

try my_dict = {行.名称:行. df.iterows()中(索引,行)的出生}

相关问题