如何将 pandas 数据框转换为没有 headers 列的字典?
How can I transform a pandas dataframe into a dictionary without the column headers?
我目前的df:
header1 header2
Siam Thailand
Indonesie Indonesia
Arabie Yemen
Ceylon Sri Lanka
所以我的 df 的 headers 是 'header1' 和 'header2'。值是这两个 headers 下的所有内容。
我想将这个 df 转换成一个平面字典,其中字典键是 header1 的值,字典值是 header2 的值,如下所示:
期望输出:
{'Siam': 'Thailand', 'Indonesië': 'Indonesia', 'Arabië': 'Yemen', 'Ceylon': 'Sri Lanka'}
当前输出:
{'header2':{'Siam': 'Thailand', 'Indonesie': 'Indonesia', 'Arabie': 'Yemen', 'Ceylon': 'Sri Lanka'}}
我的代码:
df.to_dict()
这只是:
{a:b for a,b in zip(df['header1'], df['header2'])}
或者如果你坚持pandas
解决方案:
df.set_index('header1')['header2'].to_dict()
输出:
{'Siam': 'Thailand',
'Indonesie': 'Indonesia',
'Arabie': 'Yemen',
'Ceylon': 'Sri Lanka'}
我目前的df:
header1 header2
Siam Thailand
Indonesie Indonesia
Arabie Yemen
Ceylon Sri Lanka
所以我的 df 的 headers 是 'header1' 和 'header2'。值是这两个 headers 下的所有内容。
我想将这个 df 转换成一个平面字典,其中字典键是 header1 的值,字典值是 header2 的值,如下所示:
期望输出:
{'Siam': 'Thailand', 'Indonesië': 'Indonesia', 'Arabië': 'Yemen', 'Ceylon': 'Sri Lanka'}
当前输出:
{'header2':{'Siam': 'Thailand', 'Indonesie': 'Indonesia', 'Arabie': 'Yemen', 'Ceylon': 'Sri Lanka'}}
我的代码:
df.to_dict()
这只是:
{a:b for a,b in zip(df['header1'], df['header2'])}
或者如果你坚持pandas
解决方案:
df.set_index('header1')['header2'].to_dict()
输出:
{'Siam': 'Thailand',
'Indonesie': 'Indonesia',
'Arabie': 'Yemen',
'Ceylon': 'Sri Lanka'}