可以在熊猫中执行MS Excel COUNTIFS吗
我有一个包含4列的数据框,如下所示:
project_number crew1 crew2 crew3
0 V58615 EWP None None
1 V58615 EWP Ground Line None
2 V58615 EWP Chipper None
3 V58615 EWP Chipper None
4 V58615 Ground Line None None
然后我还有一个是所有项目编号的汇总。是否有任何方法可以执行COUNTIFS的等效操作,以计算如果值V58615包含在另一个摘要列表中,EWP将与值V58615对应多少次?我似乎遇到的问题是基于跨多个列的值。使用if对for循环中单个列中的值执行此任务是可以实现的,但超出此范围的任何操作都会变得困难 下面是我如何尝试计算的:
project_numbers = np.array(vma_list.loc[:, 'Project Number'])
crews = konect_outstanding_tasks[['project_number', 'crew1', 'crew2',
'crew3']]
print(vma_list['Project Number'])
l = np.where(crews == 'EWP',1,0)
def equipment(crew):
if crew == 'ewp':
for x, y in enumerate(crews):
vma_list.loc[x:, 'EWP'] = np.sum(np.where(crews[y] == 'EWP',1,0))
print(vma_list)
正如你所看到的,有很多原因导致失败;它返回一个聚合总和,但不会像在Excel中使用sum和COUNTIF组合一样进行求和
我相信你首先需要{a1}和{a2}:
然后按^{} 对每个组进行计数:
如果只需要} 进行比较,然后通过
ewp
值,则首先通过^{sum
对True
进行计数:相关问题 更多 >
编程相关推荐