繁体   English   中英

使用条件迭代熊猫数据框中的行以创建新列

[英]Iterating over rows in a pandas dataframe with a condition to create a new column

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

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

数据框

谢谢!

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

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)

在此处输入图片说明

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

我会先创建列,然后在第二步中添加值。 一旦条件适用一次,该列就在那里。 否则你总是创建一个新列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM