gpt4 book ai didi

python - 使用多个条件选择行

转载 作者:行者123 更新时间:2023-11-30 22:56:44 26 4
gpt4 key购买 nike

我想通过使用多个 bool 选择标准从数据框中删除某些行。这是我的测试数据框:

import pandas as pd

df = pd.DataFrame({'a':range(0,10,2), 'b':range(0,1000,200)})
df['c'] = 10*df.b
df

enter image description here

我可以使用以下单独的命令选择要删除的行:

df1 = df.ix[df.c>5000]
df2 = df1.ix[df1.b<800]
df2

给我留下由单行组成的 df2:

enter image description here

我希望能够使用一行来选择行,它可能看起来像这样:

df2 = (df.ix[df.c>5000]) & (df.ix[df1.b<800])
df2

但这不起作用。最后,我当然想把它变成一个删除命令。

最佳答案

为了做出选择,根据您尝试在描述中应用的条件,尝试使用 bool 索引:

>> condition = (df.c > 5000) & (df.b < 800)
>> df2 = df[condition]

为了删除,使用相同的条件,你可以这样做:

>> df.drop(df[condition].index.tolist())

这将返回一个 pd.core.frame.DataFrame,您需要在此处分配或使用 inplace 标志,如下所示:

>> df.drop(df[condition].index.tolist(), inplace=True)

希望这会有所帮助!

关于python - 使用多个条件选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com