我有一个Pandas DataFrame,其中包含我想根据“population”列中的值删除的行:
data['population'].value_counts()
general population 21
developmental delay 20
sibling 2
general population + developmental delay 1
dtype: int64
在这里,我想删除有兄弟作为值的两行.所以,我相信以下应该做的伎俩:
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
知道这里发生了什么吗?
最佳答案
dataFrame.drop
接受索引(标签列表)作为参数,而不是掩码.
要使用drop,你应该这样做:
data = data.drop(data.index[data.population == 'sibling'])
但这样做要简单得多
data = data[data.population != 'sibling']