python - 如何将列表转换为使用元组作为键的字典
问题描述
我想用 Panda 读取一个 excel 表,并创建一个元组列表。然后,我想将列表转换为以元组为键的字典。我怎样才能做到这一点?
这是我正在阅读的表格;
A B 0.6
A C 0.7
C D 1.0
C A 1.2
D B 0.7
D C 0.6
这是我阅读表格的方式;
import pandas as pd
df= pd.read_csv("my_file_name.csv", header= None)
my_tuple = [tuple(x) for x in df.values]
现在,我想要以下结构。
my_data = {("A", "B"): 0.6,
("A", "C"): 0.7,
("C", "D"): 1,
("C", "A"): 1.2,
("D", "B"): 0.7,
("D", "C"): 0.6}
解决方案
Set_index 和 to_dict
df.set_index(['a', 'b']).c.to_dict()
{('A', 'B'): 0.6,
('A', 'C'): 0.7,
('C', 'A'): 1.2,
('C', 'D'): 1.0,
('D', 'B'): 0.7,
('D', 'C'): 0.6}
选项2:另一种使用 zip 的解决方案
dict(zip(df[['A', 'B']].apply(tuple, 1), df['C']))
选项 3:
k = df[['A', 'B']].to_records(index=False).tolist()
dict(zip(k, df['C']))
推荐阅读
- python - 如何在不返回实例的情况下使用方法修改python中类的属性(就地操作)
- python - 在时间范围内查找现值,熊猫
- google-sheets - 如何在谷歌表格中删除这种表格
- nginx - 为 yii 2 设置 nginx
- django - Django Rest Framework - 当获取模型类型的对象不是 JSON 可序列化时,如何从响应中返回模型的所有信息?
- applescript - 基本 do shell 脚本在 applescript 中给出错误
- google-apps-script - 将电子表格中的多行复制到另一个电子表格
- r - 如何使 actionButton 将 code.R 运行到上传的数据集?
- django - Django-allauth 确认电子邮件消息重定向到不同的 URL
- batch-file - 批处理文件-命令-重命名文件夹的动态输入