无法删除缺少 (0) 值的行 -Dataframe

Unable to drop rows with missing (0) value -Dataframe

我试图删除其中包含缺失值 (0) 的行,但没有成功。当我提取到一个 excel 文件时,它仍然在我的变量 GTCBSA 中显示许多值为 0 的行。我是不是写错了 drop 函数?

for i in range(2004,2007):
   url = f"https://api.census.gov/data/{i}/cps/basic/jun?get=GTCBSA,PEFNTVTY"
   a = pd.read_json(url)
   a = pd.DataFrame(a.iloc[1:,]).set_axis(a.iloc[0,], axis="columns", inplace=False)
   a.dropna(subset = ["GTCBSA"])

a
   

您可以使用

df = df[df['GTCBSA'].ne(0)]

# or

df = df[~df['GTCBSA'].eq(0)]

由于你的列类型是对象,正如我在评论中所说,你可以使用

df = df[df['GTCBSA'].ne('0')]

# or

df = df[df['GTCBSA'].astype(int).ne(0)]

此外,我建议您在我的第二条评论中检查列类型...

如果值实际上缺失(如 (Nan)),您使用的只会给您结果。如果值为 0,则不会。

根据以上答案,检查该值是否为零也不适合您。我唯一能想到的是这些值可能是字符串。

我认为你应该尝试这样的事情:

df = df[~(df['GTCBSA'] == '0')]