我有一个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
知道这里发生了什么吗?
答案 0 :(得分:7)
dataFrame.drop
接受索引(标签列表)作为参数,而不是掩码
要使用drop
,您应该这样做:
data = data.drop(data.index[data.population == 'sibling'])
然而,这样做要简单得多
data = data[data.population != 'sibling']