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