Sample Data
我试图在Python / Pandas中复制COUNTIFS功能,但是我在找到正确的解决方案时遇到了麻烦。
=计数器(B:B,“BD*",A:A,A2,C:C,"〉"与C2)
B是类型列,A是参照列,C是单据条件列,所以只有当类型为“BD”,参照与当前行的参照匹配,单据条件大于当前行的单据条件时,计数才大于零,我希望这有意义吧?
我尝试过使用GroupBy来得到一个解决方案,但我没有得到任何接近我想要的解决方案,我认为我把这个问题弄得过于复杂了。
Sample Data
我试图在Python / Pandas中复制COUNTIFS功能,但是我在找到正确的解决方案时遇到了麻烦。
=计数器(B:B,“BD*",A:A,A2,C:C,"〉"与C2)
B是类型列,A是参照列,C是单据条件列,所以只有当类型为“BD”,参照与当前行的参照匹配,单据条件大于当前行的单据条件时,计数才大于零,我希望这有意义吧?
我尝试过使用GroupBy来得到一个解决方案,但我没有得到任何接近我想要的解决方案,我认为我把这个问题弄得过于复杂了。
1条答案
按热度按时间qnyhuwrf1#
你应该包括你的输入数据作为文本。屏幕截图真的很难处理。
你可以使用numpy broadcasting。但是,这将有一个
n^2
的计算复杂度,因为你要将每一行与每隔一行进行比较:在上面的代码片段中,可以将
reference[:, None]
读作“当前行的Reference值;reference
作为“所有行的引用值”。这就是numpy在当前行和所有其他行(包括它自己)之间进行比较的原因。