DataFrame.drop不会丢弃Pandas中的预期行

时间:2013-11-02 12:41:43

标签: python pandas

我有一个Pandas DataFrame,其中包含我想根据“population”列中的值删除的行:

data['population'].value_counts()

general population                          21
developmental delay                         20
sibling                                      2
general population + developmental delay     1
dtype: int64

这里,我想删除以sibling为值的两行。所以,我认为以下应该可以做到这一点:

data = data.drop(data.population=='sibling', axis=0)

它会丢弃2行,您可以在结果值计数中看到,但它们具有指定值的行。

data.population.value_counts()

developmental delay                         20
general population                          19
sibling                                      2
general population + developmental delay     1
dtype: int64

知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:7)

dataFrame.drop接受索引(标签列表)作为参数,而不是掩码 要使用drop,您应该这样做:

data = data.drop(data.index[data.population == 'sibling'])

然而,这样做要简单得多

data = data[data.population != 'sibling']