按条件创建新的数据帧

2024-06-17 11:41:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在下面提到了df

    a   b   marks
 0  1   2    25.0
 1  2   3    96.2
 2  3   6    87.0
 3  4   5    32.2

我想要两个数据帧使用一些条件,条件是如果标记为>;70.0那么我想要 df_通行证=

      a   b   marks
   1  2   3    96.2
   2  3   6    87.0

否则<;70.0英寸df_故障

      a   b   marks
  0   1   2    25.0
  3   4   5    32.2

Tags: 数据标记ltgtdf条件故障通行证
2条回答

您可以使用DataFrame.apply应用筛选器,并且可以根据您的条件使用lambda:

pass_lambda = lambda x: x['marks'] > 70
df_pass = df[df.apply(pass_lambda, axis=1)]
df_fail = df[df.apply(lambda x: not pass_lambda(x), axis=1)]

使用groupby可以像这样拆分数据帧

df1, df2 = [x for _, x in df.groupby(df['marks'] > 70)]

相关问题 更多 >