多条件过滤,创建新的csv



看看我在这里尝试的代码变化

我试图使用Pandas来过滤具有多个条件的行,并仅使用这些行创建新的csv文件。我尝试了几种不同的方法,然后对每种方法进行了注释(有时为了简单起见,我只尝试了一种条件,但仍然不起作用)。当创建csv文件时,没有应用过滤器。

这是我更新的代码我让它适用于条件1,但我不确定如何添加/应用条件2。我尝试了很多不同的组合。我知道我放入链接图像中的代码不适用于第二个条件,因为我所做的只是给变量赋值,但试图展示我尝试过的所有方法似乎太麻烦了。这方面有什么提示吗?

df = pd.read_csv(excel_file_path)
#condition #1
is_report_period = (df["Report Period"]=="2015-2016") | 
(df["Report Period"]=="2016-2017") | 
(df["Report Period"]=="2017-2018") | 
(df["Report Period"]=="2018-2019")
#condition #2
is_zip_code = (df["Zip Code"]<"14800")
new_df = df[is_report_period]

您可以通过使用'&':

new_df = df[is_report_period & is_zip_code]

还可以使代码更易读,便于应用更改在使用这个方法进行过滤时:

Periods = ["2015-2016","2016-2017","2017-2018","2018-2019"]
is_report_period = df["Report Period"].isin(Periods)

这样你就可以在需要的时候很容易地改变你的过滤器更容易维护。

最新更新