繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM