【问题标题】:How to filter dataset to contain only specific keywords? [duplicate]如何过滤数据集以仅包含特定关键字? [复制]
【发布时间】:2019-06-05 12:39:58
【问题描述】:

我有包含多个国家的数据集。 如何过滤它以使其仅包含特定国家/地区?

例如现在它包含英国、比利时、法国等

我想对其进行过滤,使其仅显示法国和比利时。

到目前为止,我已经尝试过:

dataset = dataset.loc[dataset.Country == "France"].copy()
dataset.head()

它有效,因为它只过滤法国的数据,但如果我添加比利时

dataset = dataset.loc[dataset.Country == "France","Belgium"].copy()
dataset.head()

它不再起作用了。 我收到以下错误:

'the label [Belgium] is not in the [columns]'

我们将不胜感激。

【问题讨论】:

  • 你想要dataset = dataset[dataset['Country'].isin([ "France","Belgium"])].copy()你尝试的是寻找一个不存在的列Belgium,逗号后面的参数寻找一个列
  • dataset = dataset.loc[dataset.Country == "France" or dataset.Country == "Belgium"].copy() 这样的东西有用吗?很久没用熊猫了。

标签: python pandas


【解决方案1】:

您尝试的操作失败了,因为它将'Belgium' 视为要查找的列,而该列不存在。如果要过滤多个值,请使用isin:

dataset = dataset[dataset['Country'].isin([ "France","Belgium"])].copy()

当您使用loc 时,逗号后面的参数被视为要查找的标签,在本例中为列轴

【讨论】:

    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    相关资源
    最近更新 更多