熊猫根据条件删除行

时间:2018-11-16 14:30:54

标签: python pandas data-science

print (amazon.shape)
print (amazon.drop(amazon[(amazon["Id"] > 150492) & (amazon["Id"] < 150530 )].index).shape)
print (amazon.shape)

输出:

(525814, 10)
(525782, 10)
(525814, 10)

为什么不从主数据框中删除32行??

2 个答案:

答案 0 :(得分:1)

请参见drop的{​​{3}}(强调我的意思):

  

DataFrame.drop(labels = None,axis = 0,index = None,column = None,   level = None, inplace = False ,错误=“ raise”)

     

inplace:bool,默认为False

     

如果为True,请就地执行操作并返回None。

drop在默认情况下未就位。您必须明确告诉它是:

amazon.drop(amazon[(amazon["Id"] > 150492) & (amazon["Id"] < 150530 )].index, inplace=True)

或将其重新分配给amazon(或其他任何东西):

amazon = amazon.drop(amazon[(amazon["Id"] > 150492) & (amazon["Id"] < 150530 )].index)

答案 1 :(得分:1)

您需要添加参数inplace = True,否则它只会返回删除了行的数据帧的副本。

相关问题