#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. Это работает, но печатает всю строку. Как получить только индексы? Кроме того, как вы форматируете код в комментариях?