# extract column value based on another column pandas dataframe

I am kind of getting stuck on extracting value of one variable conditioning on another variable. For example, the following dataframe:

```
A B
p1 1
p1 2
p3 3
p2 4
```

How can I get the value of `A`

when `B=3`

? Every time when I extracted the value of `A`

, I got an object, not a string.

You could use `loc`

to get series which satisfying your condition and then `iloc`

to get first element:

```
In [2]: df
Out[2]:
A B
0 p1 1
1 p1 2
2 p3 3
3 p2 4
In [3]: df.loc[df['B'] == 3, 'A']
Out[3]:
2 p3
Name: A, dtype: object
In [4]: df.loc[df['B'] == 3, 'A'].iloc[0]
Out[4]: 'p3'
```

From: stackoverflow.com/q/36684013