dataframe删除某列小于0的数

可以使用 Pandas 中的条件查询(Boolean Indexing)来实现删除 DataFrame 中某列小于 0 的数。

首先,假设我们有如下的 DataFrame:

import pandas as pd
import numpy as np
data = {
    'A': [1, -2, 3, -4],
    'B': [5, 6, 7, 8],
    'C': [-9, 10, 11, -12]
df = pd.DataFrame(data)
print(df)
   A  B   C
0  1  5  -9
1 -2  6  10
2  3  7  11
3 -4  8 -12

如果我们想删除第一列(列名为 'A')中小于 0 的数,可以使用如下代码:

df = df.loc[df['A'] >= 0]
print(df)
   A  B   C
0  1  5  -9
2  3  7  11

其中,df['A'] >= 0 返回一个布尔类型的 Series,表示 DataFrame 第一列中哪些元素大于等于 0。df.loc[] 根据布尔类型的 Series 来选取 DataFrame 的行,即选择第一列中大于等于 0 的行。最终得到的 DataFrame 就是删除第一列中小于 0 的数之后的结果。

同理,如果你想删除其他列中小于 0 的数,只需要将上面代码中的 'A' 改为你需要删除的列名即可。

  •