У меня есть небольшой образец набора данных:словарь не возвращается ни при должно быть питон значение
import pandas as pd
df = {'ID': ['H576','H577','H578','H600', 'H700'],
'CD': ['AAAAAAA', 'BBBBB', 'CCCCCC','DDDDDD', 'EEEEEEE']}
df = pd.DataFrame(df)
Я прочитал это с пандами и превратить эти 2 колонки в словарь с «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?
позже в моем большем сценарии мне нужно будет получить «ID», когда заданное значение марки «CD»
z = reversedic.get('AAAAAAA')
print(z)
это должно быть возвращено H576, но он не вернулся «ни один» вместо этого.
Есть причина, вы не можете просто напрямую создать обратный словарь с пандами, то есть 'reversedic = df.set_index ('CD ') [' ID ']. to_dict() '? – root
Это хорошая точка – Jessica