Ошибка: ValueError: длины должны совпадать для сравнения при попытке фильтрации кадра данных в Pandas - PullRequest
0 голосов
/ 01 апреля 2020

Мне очень жаль, что я спросил об этом, но по некоторым причинам я потратил несколько минут, чтобы выяснить это, но я не понимаю.

У меня есть dataframe, что-то в этом роде

df

Output:
  TypePro
  ["JJ", "KK"]
  ["JK", "RJ"]
  ["JK"]
  ["JK"]    

Я пытаюсь отфильтровать dataframe:

df_JJ_KK = df[df.TypePro == ["JJ", "KK"]]

Но я получаю следующую ошибку: ValueError: Lengths must match to compare

Пожалуйста, как я могу решить эту проблему?

1 Ответ

1 голос
/ 01 апреля 2020

Используйте списки для фильтрации:

df = df[[x == ["JJ", "KK"] for x in df.TypePro]]
print (df)
    TypePro
0  [JJ, KK]

Или сравните tuple s:

df = df[df.TypePro.map(tuple) == tuple(["JJ", "KK"])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...