如何删除两列值相加不等于第三列的行?

问题描述 投票:-1回答:1

我有专栏:“居民单位”“商业单位”[总单位数]

我想删除“ RESTIDENT UNITS” +“ COMMERICAL UNITS”!=“ TOTAL UNITS”的行

谢谢!!

python pandas dataframe bigdata
1个回答
0
投票
# create a mask df["mask"] = df["RESTIDENT UNITS"] + df["COMMERICAL UNITS"] # filter the table df = df.loc[~(df["mask"] != df["TOTAL UNITS"])] # drop the mask column df.drop("mask", 1, inplace)

0
投票
您可以尝试以下方法:

data['r2']=(data['RESIDENT UNITS']+data['COMMERICAL UNITS'])!=data['TOTAL UNITS'] data=data[data['r2']].drop(columns='r2')

我基本上创建了一个虚拟列来存储标志。然后根据True标志对其进行过滤,最后删除虚拟列。
© www.soinside.com 2019 - 2024. All rights reserved.