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 can extract a column of pandas DataFrame based on another value by using the DataFrame. query() method. The query() is used to query the columns of a DataFrame with a boolean expression.
You can check if a column contains/exists a particular value (string/int), list of multiple values in pandas DataFrame by using pd. series() , in operator, pandas. series.
You can create a conditional column in pandas DataFrame by using np. where() , np. select() , DataFrame. map() , DataFrame.
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' 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With