Поиск точного кортежа / списка / серии в dataframe

#python #pandas #dataframe #tuples

#python #pandas #dataframe #кортежи

Вопрос:

Мне нужно найти точное соответствие кортежа / серии в dataframe с двумя столбцами кортежа / серии следующим образом:

 Tuple = (10, 0, 0)

pandas.Dataframe =             From                    To
                    2      (10.0, 0.0, 0.0)      (20.0, 0.0, 0.0)
                    3     (10.0, -0.0, 0.0)    (18.66, -5.0, 0.0)
                    4     (10.0, -0.0, 0.0)    (15.0, -8.66, 0.0)
                    5    (15.0, -8.66, 0.0)   (20.0, -17.32, 0.0)
                    6   (20.0, -17.32, 0.0)  (11.34, -12.32, 0.0)
                    7    (15.0, -8.66, 0.0)    (25.0, -8.66, 0.0)
                    8  (11.34, -12.32, 0.0)   (1.34, -12.32, 0.0)
                    9   (1.34, -12.32, 0.0)   (10.0, -17.32, 0.0)
  

Здесь он должен возвращать индексы 2, 3, 4

Спасибо

PS. Я говорю кортеж / серию, потому что я не знаю, какой из них был бы наиболее эффективным. Я могу использовать либо

Комментарии:

1. Это в pandas?

2. Прошу прощения, да в pandas

Ответ №1:

Используйте это:

 print(DataFrame[(DataFrame['From'] == Tuple) | (DataFrame['To'] == Tuple)].index.values)
  

Комментарии:

1. И для обоих столбцов просто выведите(DataFrame[DataFrame[‘from’, ‘to’] == Кортеж])?

2. @ZackJoubert Не так просто: print(DataFrame[(DataFrame['from'] == Tuple) | (DataFrame['to'] == Tuple)])

3. Это работает, но печатает всю строку. Как получить только индексы? Кроме того, как вы форматируете код в комментариях?