如何使用 for 循环和条件语句创建新的数据框

How to create a new data frame using for loops and conditional statements

我正在尝试创建一个 for 循环,其中根据列的条件语句创建一个新的数据框,但我最终得到的只是没有任何值的列名。

我现在做的是:

for i in range(3):
    df_new = df[df['col'] == i]

但这似乎不起作用。

本质上,使用此 for 循环,您将覆盖 df,并且由于不能同时应用第一个和第二个条件,因此您将以一个空数据框结束。

您可以在字典中动态创建它们,其中键是数据框的名称,值是过滤后的数据框。尝试:

dfs = {}
for i in range(3):
   dfs["df_"+str(i)] = df[df['col'] == i]

这将生成一个类似于以下结构的字典:

{df_1:df[df['col']==1],
 df_2:df[df['col']==2]}

并且您可以通过其密钥名称访问它们dfs['df_1']