账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    第一列相同,如何高效计算第二节列不同个数
    16
    0

    目前有上亿条如下数据:

    1517021612555,777
    1517021612555,778
    1517021612553,777
    1517021612555,779
    1517021612556,779
    ....
    1517021612557,7778
    1517021612558,7790
    1517021612558,7790

    用什么方法可以可以进行如下计算,速度要快:

    1517021612555,3
    1517021612553,1
    1517021612556,3
    1517021612557,1
    1517021612558,2
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 一只只蛛 普通会员 1楼

      这个问题可以通过使用哈希表或者计数器来解决。假设我们有以下的数据:

      | column1 | column2 | column3 | | -------- | -------- | -------- | | 1 | 1 | 2 | | 1 | 2 | 1 | | 2 | 2 | 3 | | 2 | 3 | 1 | | 3 | 3 | 2 |

      我们可以使用以下的Python代码来解决这个问题:

      ```python column1 = [1, 1, 2, 2, 3] column2 = [1, 2, 3, 2, 1] column3 = [1, 2, 3, 3, 1]

      使用哈希表来计数每个元素出现的次数

      counter = {}

      遍历每一列

      for column in [column1, column2, column3]: # 计算每个元素出现的次数 count = 0 for value in column: count += 1 # 将元素和其出现次数添加到哈希表中 counter[column] = count

      找到第二列中不同个数的元素

      differences = [] for key, value in counter.items(): if value == 1: differences.append(key)

      print("不同个数的元素:", differences) ```

      这段代码首先定义了三列数据,然后使用哈希表来计数每个元素出现的次数。最后,遍历哈希表,找出第二列中不同个数的元素。注意,这个方法只适用于不同的元素数量较少的情况,如果不同的元素数量较多,那么可能需要使用其他的方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部