首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果A列重复,和第2栏

如果A列重复,和第2栏
EN

Stack Overflow用户
提问于 2015-11-18 12:42:54
回答 3查看 72关注 0票数 0

我有两列,如果A列重复,我想对B列的值进行求和。

A= {1 2 3 3 4 4}

B= {1 2 3 4 5 6 7}

结果应该是:

代码语言:javascript
复制
A    B
1    1
2    2
3    7
4    18

我的代码:

代码语言:javascript
复制
 for i in range(len(a)):
 r= np.sqrt(((x-x[j])**2)+((y-y[j])**2)))
  if r <= A[i] <= r-5:
        B=np.abs((r-0.007)-b[i])
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-18 13:19:38

代码语言:javascript
复制
A1 = [1, 2, 3, 3, 4, 4, 4]
B1 = [1, 2, 3, 4, 5, 6, 7]
A2 = []
B2 = []

for i in range(len(A1)):
    if A1[i] != A1[i + 1]:
        A2.append(A1[i])
        B2.append(B1[i])
    else:
        j = i + 1
        sum = B1[i]
        while j < len(A1) and A1[i] == A1[j]:
            sum += B1[j]
            del A1[j]
            del B1[j]
        A2.append(A1[i])
        B2.append(sum)
        if j >= len(A1):
            break

print A2
print B2

产出如下:

1,2,3,4

1、2、7、18

票数 0
EN

Stack Overflow用户

发布于 2015-11-18 14:55:55

我认为最简单的方法是使用以下算法:

代码语言:javascript
复制
def create_buckets(l):
    return [0]*(max(l)+1)

def fill_buckets(A, B):
    buckets = create_buckets(A)
    for i in range(len(A)):
        buckets[A[i]] += B[i]
    return buckets

A = [1, 2, 3, 3, 4, 4, 4]
B = [1, 2, 3, 4, 5, 6, 7]
output = fill_buckets(A, B)
for i in range(len(output)):
    if output[i] != 0:
        print(i, output[i])
  • 我们建立了一个零的列表。它的长度等于A+1的最大值。(这样,我们把A的每一个值作为一个索引),这些都是桶。
  • 我们在A上循环,假设我们得到循环中索引Y的值X: *我们用相同的指数(Y)检查表B上的值 ·在索引X(指数Y上的A值)上,将这个值添加到桶中
  • 我们打印桶的每一个不是零的值(或者,如果您想要允许零,也可以创建另一个默认值)。
票数 0
EN

Stack Overflow用户

发布于 2015-11-21 20:25:45

我认为这是最简单的解决办法。

A1 = 1,2,3,3,4,4,4

B1 = 1,2,3,4,5,6,7 A2 = []

B2 = []

附加(A1)

附加(B1)

对于范围内的I(len(A1)-1):

代码语言:javascript
复制
if A1[i] != A1[i+1]:
    A2.append(A1[i+1])
    B2.append(B1[i+1])  
else:
    A2.pop()
    A2.append(A1[i+1])
    b = B2.pop()
    B2.append(b+B1[i+1])

打印A2

打印B2

产出: A2 = 1,2,3,4 B2 = 1,2,7,18

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33780423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档