How to get scalar value on a cell using conditional indexing

First of all, you're better off accessing both the row and column indices from the .loc:

x.loc[x['A'] == 2, 'B']

Second, you can always get at the underlying numpy matrix using .values on a series or dataframe:

In : x.loc[x['A'] == 2, 'B'].values[0]
Out: 6

Finally, if you're not interested in the original question's "conditional indexing", there are also specific accessors designed to get a single scalar value from a DataFrame: dataframe.at[index, column] or dataframe.iat[i, j] (these are similar to .loc[] and .iloc[] but designed for quick access to a single value).


elaborating on @ShineZhang comment:

x.set_index('A').at[2, 'B']

6

pd.__version__

u'0.22.0'