[英]DataFrame.drop not dropping expected rows in 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
知道这里发生了什么吗?
dataFrame.drop
接受索引(标签列表)作为参数,而不是掩码。
要使用drop
你应该这样做:
data = data.drop(data.index[data.population == 'sibling'])
但这样做要简单得多
data = data[data.population != 'sibling']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.