У меня есть два словаря, которые я хотел бы сравнить и найти разные значения между ними. Вот пример.
dict1={"sex":["Male","Female"],"age":[range(0,100)]}
dict2={"sex":["male","female","Male","Female"],"age":[-10,0.75,2.,2.5,3.5,30.5,0.1167,nan]}
Я знаю, что я могу найти различия между ними, делая это.
[In]: set(dict2["sex"])-set(dict1["sex"])
[Out]: {'female','male'}
Однако, когда я сравниваю возраст, я неувидеть ожидаемый результат. Я хотел бы, чтобы он возвращал только отрицательные значения и значения nan.
Я попытался создать словарь таким способом, используя numpy, но он возвращает ошибку, в которой говорится о неискажаемом типе: 'numpy.ndarray'
dict1={"sex":["Male","Female"],"age":[np.arange(0,100,0.1)]}
dict2={"sex":["male","female","Male","Female"],"age":[-10,0.75,2.,2.5,3.5,30.5,0.1167,nan]}
[In]: set(dict2["age"])-set(dict1["age"])
[Out]: TypeError: unhashable type: 'numpy.ndarray'
Мой вопрос: как я могу написать диапазон для возраста? в dict1, чтобы он мог представлять любое положительное число с плавающей точкой от 0 до 100 и возвращать только отрицательное значение и nan из dict 2? Спасибо.