给出一个数据框,我需要创建一个新的列‘FLAG’,如果i不在列‘id’中的任何列表中,则在第i行中值为True,否则为False.

对于下面的示例,第1、3、5和6行的标志应为True. 我用lambda试了一下,但不能让它工作.

import pandas as pd

pos = pd.DataFrame(columns=['id', 'pred'])
pos.loc[1,'id'] = [4, 4]
pos.loc[2,'id'] = [2]
pos.loc[3,'id'] = [2, 4]
pos.loc[4,'id'] = [2]
pos.loc[5,'id'] = [2, 4]
pos.loc[6,'id'] = [4]
for i in range(0, len(pos)):
    pos['flag'] = pos.apply(lambda x: int(i in x['id']), axis=True)

print(pos)
     id pred   flag
1  [4, 4]  NaN  False
2     [2]  NaN  False
3  [2, 4]  NaN  False
4  [2, 6]  NaN  False
5  [2, 6]  NaN  False
6     [6]  NaN  False

推荐答案

使用(~)isin/explode:

pos["flag"] = ~pos.index.isin(pos["id"].explode()) # .astype(int) ?

发帖主题:Re:Kolibrios

       id pred   flag
1  [4, 4]  NaN   True
2     [2]  NaN  False
3  [2, 4]  NaN   True
4     [2]  NaN  False
5  [2, 4]  NaN   True
6     [4]  NaN   True

[6 rows x 3 columns]

Python相关问答推荐

如何在图片中找到这个化学测试条?OpenCV精明边缘检测不会绘制边界框

Python 3.12中的通用[T]类方法隐式类型检索

如何在msgraph.GraphServiceClient上进行身份验证?

将整组数组拆分为最小值与最大值之和的子数组

Pandas 有条件轮班操作

沿着数组中的轴计算真实条目

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

如何在Django基于类的视图中有效地使用UTE和RST HTIP方法?

如何将多进程池声明为变量并将其导入到另一个Python文件

Pandas DataFrame中行之间的差异

使用Python更新字典中的值

Django RawSQL注释字段

如何在Python中获取`Genericums`超级类型?

使用嵌套对象字段的Qdrant过滤

Python类型提示:对于一个可以迭代的变量,我应该使用什么?

如何从数据框列中提取特定部分并将该值填充到其他列中?

我怎么才能用拉夫分拣呢?

Django抛出重复的键值违反唯一约束错误

多索引数据帧到标准索引DF

使用元组扩展字典的产品挑战