使用三元图元组键将Pandas数据框转换为字典

nicolejane33

我正在用python-ternary绘制三元图

我的数据在pandas数据框中。我需要将其转换为字典映射(i,j)并将其转换为float以作为heatmap三元函数的输入

我的数据框(df)如下所示:

   i  j  value
0  1  2      7
1  3  4      8
2  5  6      9 

我需要制作这样的字典:

{(1, 2): 7, (5, 6): 9, (3, 4): 8}

我当前的解决方法是蛮力循环,它非常慢:

import pandas as pd
df = pd.DataFrame({'i': [1, 3, 5], 'j': [2, 4, 6], 'value': [7, 8, 9]})
data = dict()

for k in range(0, len(df)):
    data[(df.iloc[k]['i'],df.iloc[k]['j'])] = \
        df.iloc[k]['value']

拜托,有人可以用更快或更Python的方式帮助我吗?

耶斯列尔

使用set_indexto_dict

d = df.set_index(['i','j'])['value'].to_dict()

zip和的替代方法dict comprehension

d = {(a,b):c for a,b,c in zip(df['i'], df['j'], df['value'])}

print (d)
{(1, 2): 7, (3, 4): 8, (5, 6): 9}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Java HashMap转换为乌龟三元组

将字典列表字典转换为Pandas数据框

如何将十六进制三元组转换为RGB元组并返回?

将字典转换为Pandas数据框

将数据框转换为元组列表字典

使用pandas from_dict转换为数据框时,请勿将字典中的键用作索引

使用多个键将pandas数据框转换为字典

将字典项转换为键为元组且值为整数的pandas数据框的行

使用apply方法将Python Pandas数据框列中的元组列表转换为列表字典

将Pandas数据框转换为字典

将包含字典的字典列表转换为Pandas数据框

将pandas数据框转换为唯一元组列表

将元组列表转换为MultiIndex Pandas数据框

Python将字典元组列表转换为数据框

将字典的特定字典转换为Pandas数据框-Pandas

如何将带有元组键的python字典转换为pandas多索引数据框?

使用值作为键将数据框转换为字典

高效地将字典的键和值转换为pandas数据框中的列

如何将包含元组列表的字典中的字典转换为pandas数据框

将三元组转换为R中的矩阵

将python字典转换为三元组列表时出现问题?

使用 C# 将 if 条件转换为三元

使用两列中的元组样式键将数据框转换为嵌套自定义字典的最pythonic方法

将 Pandas 数据框转换为以第一列为键的字典

将具有一个键和多个值的字典转换为 Pandas 数据框

将字典列表转换为关于键的数据框

将字典转换为数据框(以重复的键作为行)

将列表中的元组字典转换为 Pandas 数据框

如何将稀疏矩阵转换为三元组列表