[英]Add column to pandas DF that does a lookup within the DF based on values of two other columns in the same DF
[英]Filter df based on multiple column values of other columns in the same df
我有以下 df:
id | status | id_reference
1 True NaN
4 False 1
2 False Nan
7 False 3
6 True 2
10 True 4
我如何只过滤或想要 df 中的行,其中:
status列为True并且id_reference列值存在于 df 的另一行中,作为id 列中的值作为值。
所以基于上面的df,
我想要下面的行:
id | status | id_reference
6 True 2
10 True 4
实际 df 大得多,因为这是一个样本
演员id_reference
到float
,如果你还没有和使用isin
:
print (df.loc[df["status"]&df["id_reference"].astype(float).isin(df["id"])])
id status id_reference
4 6 True 2
5 10 True 4
您可以尝试以下方法:
df.loc[df["status"] & df["id_ref"].isin(df["id"])]
你可以试试这个:
df = df.query('status == True & id_reference.notnull()')
print(df)
def filterDataSet(self,dataSetValues):
try :
print(dataSetValues) dataSetValues= dataSetValues.fillna(0)
dataSetValues = dataSetValues[dataSetValues.id_reference>0]
dataSetValues = dataSetValues[dataSetValues.status == True]
return dataSetValues
except ValueError as ve:
print("Exception while filter data ", ve)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.