根据特定条件消除数据框中的行

数据挖掘 数据框
2022-03-13 00:59:36

我在数据框中有两列,即“来源”和“目的地”,其中包含不同地点的名称。我需要删除这些列中不包含“PHX”、“JFK”、“NTU”的行。如果 2 列中的至少一列具有这 3 个位置之一,则该行可以保留,否则必须完全删除该行。你能帮我编写这部分代码吗?

1个回答

这个片段应该做的工作:

city = ['PHX', 'JFK', 'NTU'] 
colomn_to_exclude = df.apply(lambda row: (row['origin'] not in city) and (row['destination'] not in city))
new_df = df[~colomn_to_exclude]

第二行检查您的排除条件得到验证的行以及相应的数据帧子集之后的行。

你也可以写类似

colomn_to_exclude = df.apply(lambda row: (row['origin'] not in city) and   (row['destination'] not in city))
df.drop(~colomn_to_exclude, axis=1, inplace=True)

而且您不必复制数据框