这个lambda函数有什么问题?熊猫和Python数据帧

这个lambda函数有什么问题?熊猫和Python数据帧,python,pandas,lambda,Python,Pandas,Lambda,我写了一个lambda函数,应该很快,但这需要很长时间。有没有更好的方法写这个 fn = lambda x: shape(df[df.CustomerCard_Num == x.CustomerCard_Num])[0] df['tottrans'] = df.apply(fn, axis = 1) 基本上,我有一个很大的事务数据库(行)。一组行可能对应于不同的客户(客户卡号如果df中有一列,则多行可能具有相同的df.CustomerCard_Num。) 我试图使用这个lambda函数计算每个

我写了一个lambda函数,应该很快,但这需要很长时间。有没有更好的方法写这个

fn = lambda x: shape(df[df.CustomerCard_Num == x.CustomerCard_Num])[0]
df['tottrans'] = df.apply(fn, axis = 1)
基本上,我有一个很大的事务数据库(行)。一组行可能对应于不同的客户(客户卡号如果df中有一列,则多行可能具有相同的df.CustomerCard_Num。)


我试图使用这个lambda函数计算每个客户的行数。但它似乎并不见效快。我应该使用groupby吗

有一种内置方式:

df.CustomerCard_Num.value_counts()

请参见

有一种内置方式:

df.CustomerCard_Num.value_counts()

参见<代码> df.CubulCudith.NUM.ValueLyCuthTs()/Script >作为一个旁注,你为什么用<代码> lambda < />代码来编写它,而不是<代码> DEF>代码>(它不是匿名的,它不是在表达式的中间使用,它不是暂时的……)?而且,鉴于您将问题标记为

lambda
,您似乎认为它甚至可能与您在此处使用
lambda
的问题有关。(不是,但如果你认为可能的话,为什么不用更惯用的方式来写呢?)这取决于你,但它确实提出了一个有趣的观点,关于lambdas的一些常见误解以及它们的用途。即使它是一个简单的函数定义,也有一个更好、更简洁的内置方法,因此它可能对其他人有用。不要认为只有你一个人用这种方式来处理你的问题。对于是否应该删除这篇文章,你可以继续问,我的感觉是这篇文章对你有用吗?你认为其他人会觉得有用吗?即使你不认为这是有用的,社区也可能会不同意或认为不同,在投票关闭/重新打开/删除/取消删除之间可能会打乒乓球。所以你可以让社区来决定。顺便说一下,你可以接受我的答案;)只需做<代码> df.CubCudiCuqnUn.ValueLyCuthSuth.()/Script >作为一个旁注,你为什么用<代码> lambda < />代码来编写它,而不是<代码> DEF>代码>(它不是匿名的,它不是在表达式的中间使用,它不是暂时的……)?而且,鉴于您将问题标记为
lambda
,您似乎认为它甚至可能与您在此处使用
lambda
的问题有关。(不是,但如果你认为可能的话,为什么不用更惯用的方式来写呢?)这取决于你,但它确实提出了一个有趣的观点,关于lambdas的一些常见误解以及它们的用途。即使它是一个简单的函数定义,也有一个更好、更简洁的内置方法,因此它可能对其他人有用。不要认为只有你一个人用这种方式来处理你的问题。对于是否应该删除这篇文章,你可以继续问,我的感觉是这篇文章对你有用吗?你认为其他人会觉得有用吗?即使你不认为这是有用的,社区也可能会不同意或认为不同,在投票关闭/重新打开/删除/取消删除之间可能会打乒乓球。所以你可以让社区来决定。顺便说一下,你可以接受我的答案;)