Python使用pandas将字典整数元组键转换为字符串元组键
实现字典键从整数元组转字符串元组的方案
方案1:直接转换现有字典(无需pandas)
如果你已经有了现有整数元组为键的字典,直接用字典推导式遍历转换键的元素类型即可:
# 你的原始Supply字典 Supply = {(1, 1): 400, (1, 2): 0, (2, 1): 1500, (2, 2): 0, (3, 1): 900, (3, 2): 0} # 转换为字符串元组为键的字典 Supply = {tuple(str(item) for item in key): val for key, val in Supply.items()}
执行后打印Supply即可得到你需要的结构。
方案2:从pandas直接生成目标结构字典
如果你要使用pandas管理源数据(比如从CSV读取、后续做数据处理),可以直接从DataFrame生成符合要求的字典,不需要先得到整数元组键的字典再转换:
import pandas as pd # 从CSV读取数据可替换为 df = pd.read_csv("你的文件路径.csv") df = pd.DataFrame({ "列1": [1, 1, 2, 2, 3, 3], "列2": [1, 2, 1, 2, 1, 2], "供应量": [400, 0, 1500, 0, 900, 0] }) # 先将需要作为键的两列转为字符串类型 df["列1"] = df["列1"].astype(str) df["列2"] = df["列2"].astype(str) # 直接生成键为字符串元组的字典 Supply = df.set_index(["列1", "列2"])["供应量"].to_dict()
执行后得到的Supply和你要求的结构完全一致。
内容的提问来源于stack exchange,提问作者rkimura
相关产品推荐
相关产品推荐

