Python 字典理解 Pandas
Python dictionary comprehension with Pandas
我正在尝试从 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}
我检查了该列,它还有许多其他值,我做错了什么?
我认为 Abdou 用 dict(zip(dff['Names'], dff['Births']))
切中要害,但如果你想用听写理解来做到这一点,你可以这样做:
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}
我正在尝试从 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}
我检查了该列,它还有许多其他值,我做错了什么?
我认为 Abdou 用 dict(zip(dff['Names'], dff['Births']))
切中要害,但如果你想用听写理解来做到这一点,你可以这样做:
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}