series.where в серии, содержащей списки - PullRequest
1 голос
/ 21 января 2020

У меня есть эта серия с именем hours_by_analysis_date, где индекс равен datetime с, а значения представляют собой список целых чисел. Например:

Index      |
01-01-2000 | [1, 2, 3, 4, 5]
01-02-2000 | [2, 3, 4, 5, 6]
01-03-2000 | [1, 2, 3, 4, 5]

Я хочу вернуть все индексы, где значение равно [1, 2, 3, 4, 5], поэтому должно возвращаться 01-01-2000 и 01-03-2000

Я пытался hours_by_analysis_date.where(fh_by_analysis_date==[1, 2, 3, 4, 5]), но это дает мне ошибку:

{ValueError} lengths must match to compare

1 Ответ

1 голос
/ 21 января 2020

Это путает между сравнением двух подобных объектам массивов и тестом на равенство для каждого элемента.

Вы можете использовать apply:

hours_by_analysis_date.apply(lambda elem: elem == [1,2,3,4,5])
...