Q:

Find value for column where value for a separate column is maximal

If I have a Python Pandas DataFrame containing two columns of people and sequence respectively like:
  people   sequence
    John      1
    Rob       2
    Bob       3

How can I return the person where sequence is maximal?  In this example I want to return 'Bob'

A:

pandas.Series.idxmax
Is the method that tells you the index value where the maximum occurs.  
Then use that to get at the value of the other column.
df.at[df['sequence'].idxmax(), 'people']

'Bob'

I like the solution @user3483203 provided in the comments.  The reason I provided a different one is to show that the same think can be done with fewer objects created.
In this case, df['sequence'] is accessing an internally stored object and subsequently calling the idxmax method on it.  At that point we are accessing a specific cell in the dataframe df with the at accessor.
We can see that we are accessing the internally stored object because we can access it in two different ways and validate that it is the same object.
df['sequence'] is df.sequence

True

While
df['sequence'] is df.sequence.copy()

False

On the other hand, df.set_index('people') creates a new object and that is expensive.
Clearly this is over a ridiculously small data set but:
%timeit df.loc[df['sequence'].idxmax(), 'people']
%timeit df.at[df['sequence'].idxmax(), 'people']
%timeit df.set_index('people').sequence.idxmax()

10000 loops, best of 3: 65.1 µs per loop
10000 loops, best of 3: 62.6 µs per loop
1000 loops, best of 3: 556 µs per loop

Over a much larger data set:
df = pd.DataFrame(dict(
    people=range(10000),
    sequence=np.random.permutation(range(10000))
))

%timeit df.loc[df['sequence'].idxmax(), 'people']
%timeit df.at[df['sequence'].idxmax(), 'people']
%timeit df.set_index('people').sequence.idxmax()

10000 loops, best of 3: 107 µs per loop
10000 loops, best of 3: 101 µs per loop
1000 loops, best of 3: 816 µs per loop

The relative difference is consistent. 

