遍历有条件的熊猫数据框中的行以创建新列

时间:2020-03-07 21:49:01

标签: python pandas dataframe for-loop if-statement

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

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

Dataframe

谢谢!

2 个答案:

答案 0 :(得分:2)

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

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]})

enter image description here

以下代码生成一个新列,该新列中每行的数字均小于或等于2:

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

enter image description here

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

答案 1 :(得分:0)

我将首先创建列,然后在第二步中添加值。条件一旦适用,该列仍然存在。否则,您总是创建一个新列。