Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Select row from a DataFrame based on the type of the object(i.e. str)

Tags:

python

pandas

So there's a DataFrame say:

>>> df = pd.DataFrame({ ...                 'A':[1,2,'Three',4], ...                 'B':[1,'Two',3,4]}) >>> df        A    B 0      1    1 1      2  Two 2  Three    3 3      4    4 

I want to select the rows whose datatype of particular row of a particular column is of type str.

For example I want to select the row where type of data in the column A is a str. so it should print something like:

   A      B 2  Three  3 

Whose intuitive code would be like:

df[type(df.A) == str] 

Which obviously doesn't works!

Thanks please help!

like image 319
Devi Prasad Khatua Avatar asked Sep 01 '16 15:09

Devi Prasad Khatua


People also ask

How do I select a row in a DataFrame by index?

iloc selects rows based on an integer index. So, if you want to select the 5th row in a DataFrame, you would use df. iloc[[4]] since the first row is at index 0, the second row is at index 1, and so on.


1 Answers

This works:

df[df['A'].apply(lambda x: isinstance(x, str))] 
like image 169
DrTRD Avatar answered Sep 30 '22 07:09

DrTRD