【问题标题】:Access a list within Pandas Dataframe apply function without making list global [duplicate]在不使列表全局化的情况下访问 Pandas Dataframe 应用函数中的列表 [重复]
【发布时间】:2017-08-10 06:07:48
【问题描述】:

我有一个 Pandas 数据框。对于这个框架中的每一行,我想进行一定的检查。如果检查产生True,那么我想将数据框行的某些列添加到列表结构中。

如何从 apply 函数中访问列表而无需创建全局列表变量?这可能吗?或者有更好的方法吗?

代码如下:

df.apply(checkFunction, axis=1)

checkFunction(row): 
    if (check == True):
        myList.append(row)
    return row

【问题讨论】:

  • 如果需要 apply 的参数 - 检查 this
  • 如果不是骗子,请告诉我,我重新提问。

标签: python pandas dataframe apply


【解决方案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 的值必须是一个元组。我刚刚编辑了示例代码来展示这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 2016-10-31
    • 1970-01-01
    • 2014-12-07
    • 2021-11-29
    • 2021-06-07
    相关资源
    最近更新 更多