25

This is not a repetitive question, yet similar to

Select rows from a DataFrame based on values in a column in pandas

In that answer up in the previous link it is only based on one criteria what if I have more than one criteria.

I would like to select many rows in a column not only one based on particular values. For the sake of argument consider the DataFrame from the World Bank

import pandas.io.wb as wb import pandas as pd import numpy as np df2= wb.get_indicators() 

The way I select a certian value is as so

df2.loc[df2['id'] == 'SP.POP.TOTL'] 

and

df2.loc[df2['id'] == 'NY.GNP.PCAP.CD'] 

How may I select both in one new dataframe or say 3 or 4? such that the rows are:

'SP.POP.TOTL' 'NY.GNP.PCAP.CD' 

Thank you in advance

1
  • 4
    How does this differ from the answer to the question you linked, which gives an isin example in its second sentence? Commented Apr 4, 2016 at 18:29

1 Answer 1

54

you may use .isin():

In [28]: df2[df2['id'].isin(['SP.POP.TOTL','NY.GNP.PCAP.CD'])] Out[28]: id name \ 7478 NY.GNP.PCAP.CD GNI per capita, Atlas method (current US$) 9568 SP.POP.TOTL Population, total source \ 7478 World Development Indicators 9568 World Development Indicators sourceNote \ 7478 GNI per capita (formerly GNP per capita) is th... 9568 Total population is based on the de facto defi... sourceOrganization \ 7478 b'World Bank national accounts data, and OECD ... 9568 b'(1) United Nations Population Division. Worl... topics 7478 Economy & Growth ; Climate Change 9568 Health ; Climate Change 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.