首页 > 解决方案 > 使用条件迭代熊猫数据框中的行以创建新列

问题描述

我有一个带有数值的 720 x 720 数据框。我想遍历每一行,将每个单元格与条件进行比较,并在行的末尾创建一个新单元格,其中包含满足条件的行中的单元格数(小于或等于某个数字 c)。所以,最后我需要添加一个新列,告诉我每行中有多少数字满足我的条件。

编辑:添加了数据框的图像

数据框

谢谢!

标签: pythonpandasdataframefor-loopif-statement

解决方案


假设我们有一个这样的数据框:

import numpy as np
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 0.3, 4], 'b': [0.5, 3, 0.7, 5], 'c': [2, 0.8, 1, 3]})

在此处输入图像描述

以下代码生成一个新列,其中包含每行中小于或等于 2 的数字计数:

df['<= 2'] = df.apply(lambda x: len(np.where(x.values <= 2)[0]), axis=1)

在此处输入图像描述

您可以修改条件以满足您的问题。


推荐阅读