【问题标题】:How to delete multiple rows in a pandas DataFrame based on condition?如何根据条件删除熊猫 DataFrame 中的多行?
【发布时间】:2020-05-07 03:52:37
【问题描述】:

我知道如何使用 .drop() 方法通过传递轴和标签从数据框中删除行和列。

这是数据框

现在,如果我想从(Arizona 一直到Colorado)删除所有STNAME 等于的行,我应该怎么做?

我知道我可以通过将行标签 2 到 7 传递给 .drop() 方法来做到这一点,但是如果我有很多数据并且我不知道开始和结束索引,那将是不可能的。

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

可能有点老套,但这里有一个选项:

index1 = df.index[df['STNAME'] == 'Arizona'].tolist()[0]
index2 = df.index[df['STNAME'] == 'Colorado'].tolist()[-1:][0]

df = df.drop(np.arange(index1, index2+1))

这基本上取了亚利桑那州的第一个索引号和科罗拉多州的最后一个索引号,并从这些索引之间的数据框中删除每一行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2016-12-25
    • 2015-10-15
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 2016-01-18
    相关资源
    最近更新 更多