可以使用 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'
改为你需要删除的列名即可。