python - 根据 Pandas 列中的多个值从 DataFrame 中选择行

标签 python pandas dataframe

<分区>

这不是一个重复的问题,但类似于

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

在上一个链接的回答中,它仅基于一个标准,如果我有多个标准怎么办。

我想根据特定值选择一列中的多行,而不仅仅是一行。为了争论起见,请考虑世界银行的 DataFrame

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

我选择certian值的方式是这样的

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

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

我如何在一个新的数据框中选择两者,或者说 3 或 4?这样的行是:

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

提前致谢

最佳答案

你可以使用.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

关于python - 根据 Pandas 列中的多个值从 DataFrame 中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36410075/

相关文章:

python - 使用 Pandas MultiIndex 在 matplotlib 条形图中对标签进行分组

python - 如何使用 Python 形成文件夹图表

python - GroupBy 对象中的数据处理。如何添加列?

python - 如何将特定元素的数量放入矩阵的特定行和列约束中?

python - 仅限 Django 管理静态文件 -> 404

python - 使用pivot_table时同时对aggfunc应用两个numpy函数

R:在具有案例和观察值的数据框中计算从一个观察值到下一个观察值的变化

python - 检查与另一个列表匹配的嵌套列表值组合

python - Pandas:使用 df.eval 和字符串变量作为条件过滤

python - 如何从旧数据框创建新数据框?