我正在尝试使用apply函数来避免在函数中使用iterrows()迭代器:
然而,这个pandas方法的文档非常不清晰,我找不到如何使用它的示例,除了文档中的无用的.apply(sq.rt)……没有关于如何使用参数等的示例。
无论如何,这里有一个玩具示例,展示了我试图做的事情。
据我理解,apply函数实际上会像iterrows()一样执行,即迭代(如果axis=0,则迭代行)。在每次迭代中,函数的输入x应该是迭代的行。然而,我一直收到的错误消息似乎证明了这种假设是错误的……
grid = np.random.rand(5,2)
df = pd.DataFrame(grid)
def multiply(x):
x[3]=x[0]*x[1]
df = df.apply(multiply, axis=0)
上面的示例返回了一个空的df。有谁能帮我理解一下吗?