TypeError: unhashable тип: объединение 'numpy .ndarray', pandas - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь объединить 2 кадра данных с данными изображения. Df1 выглядит так, что содержит один столбец с именем изображения, а другой - с данными пикселей nd.array:

                   image_name                                                img
0  Horned_Lark_0133_73882.jpg  [[[146, 162, 178], [145, 161, 177], [143, 159,...
1  Horned_Lark_0048_73894.jpg  [[[198, 196, 201], [199, 197, 202], [198, 197,...
2  Horned_Lark_0028_74408.jpg  [[[112, 138, 67], [102, 130, 56], [95, 125, 51...
3  Horned_Lark_0095_74640.jpg  [[[94, 94, 94], [97, 97, 97], [100, 98, 99], [...
4  Pigeon_0037_74696.jpg  [[[185, 187, 186], [185, 187, 186], [185, 187,...

df2 содержит то же самое image_name обозначает, но отсутствуют данные для img.

                   image_name  img     bird_type
0  Horned_Lark_0133_73882.jpg  nan     Horned_Lark
1  Horned_Lark_0048_73894.jpg  nan     Horned_Lark
2  Horned_Lark_0028_74408.jpg  nan     Horned_Lark
3  Horned_Lark_0095_74640.jpg  nan     Horned_Lark
4  Pigeon_0037_74696.jpg       nan     Pigeon

Я пытаюсь объединить эти dfs так, чтобы значения nan в df2 принимали значения df1 на основе image_name

Я пробовал это:

df3 = df2.merge(df1, how='left', on=['image_name', 'img'])

Однако я получаю следующую ошибку:

TypeError: unhashable type: 'numpy.ndarray'

Этот ответ Ошибка типа: неустранимый тип: 'numpy .ndarray' is не очень информативно.

Кто-нибудь может объяснить, почему это происходит со мной здесь.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...