我有一个小样本数据集:
import pandas as pd
df = {'ID': ['H576','H577','H578','H600', 'H700'],
'CD': ['AAAAAAA', 'BBBBB', 'CCCCCC','DDDDDD', 'EEEEEEE']}
df = pd.DataFrame(df)
我用 pandas 读入了这个,并将这两列转换成一个字典,其中“ID”是键,“CD”是值:
dictionary = df.set_index('ID')['CD'].to_dict()
因为我需要做其他事情(我不会详细介绍,这是一个很长的故事,我的实际脚本是涉及很多其他事情的长脚本),我需要将字典保存为值键对,反转:
reversedic = dict()
for key, val in dictionary.items():
reversedic.pop(val, key) #python 2.7 uses dic.append() but for the python I have which is 3.5, 'dict' object has no attribute 'append', so is pop the correct code?
稍后在我的较大脚本中,当给定“CD”值时,我将需要获取“ID”
z = reversedic.get('AAAAAAA')
print(z)
这应该返回 H576,但它返回了“无”。
请您参考如下方法:
为什么不直接:
reverseDict = {v:k for k,v in dictionary.iteritems()}
In [14]: reverseDict['AAAAAAA']
Out[14]: 'H576'
