我有一个Pandas数据帧。对于此框架中的每一行,我想进行一定的检查。如果检查产生True
,那么我想将dataframe-row的某些列添加到列表结构中。
如何在apply函数中访问列表而无需创建全局列表变量?这可能吗?或者有更好的方法吗?
代码如下所示:
df.apply(checkFunction, axis=1)
checkFunction(row):
if (check == True):
myList.append(row)
return row
答案 0 :(得分:1)
df.apply()
允许您传递位置参数和关键字。
def checkFunction(row, lst):
if (check == True):
lst.append(row)
return row
my_list = []
df.apply(checkFunction, axis=1, args=(my_list,))
请勿将其list
称为与保留的list
关键字相冲突。
注意:传递给args
的值必须是元组。我刚编辑了示例代码以显示此内容。