Использование idxmax
df.loc[(df['color'] == 'blue').idxmax(),'number']
Out[698]: 4
@Ilya:
Это - вероятно, одна из худшей статьи Joel, когда-либо писал (для тех, кто не прочитал ссылку, он обсуждает "Исключения, которые рассматривают вредными", не используйте их).
У Joel есть две проблемы за исключениями:
Они невидимы в исходном коде.
Они создают слишком много возможных точек выхода для функции.
У Ned Batchelder есть превосходное (и намного дольше) отвечают Joel здесь. У Joel есть короткий ответ здесь, на который Ned отвечает снова здесь.
У Brad Abrams также есть очень хорошая статья о значении исключений здесь.
Мне нравится также различать:
Это - для меня ясный способ отделиться:
Конкретная.NET, но определенно имеет некоторую стоящую информацию.
http://www.codeproject.com/KB/architecture/exceptionbestpractices.aspx
Вы могли сделать намного хуже, чем просматривают код и документацию для Блока Приложения для управления Исключением Microsoft. Это - вероятно, излишество для большого количества сценариев, но это, конечно, всесторонне.