天青城子 2023-12-28 20:53 采纳率: 60%
浏览 2

Python脚本筛选两列数据中相关的值

怎么用Python脚本筛选两列数据中相关的值
比如像这样
1 2
1 3
4 1
2 5
6 3
7 8
最后得到1 2 3 4 5 6 一组数,7 8一组数
运用字典筛选,编不出来,希望能得到大家的指点思路

  • 写回答

2条回答 默认 最新

  • 爱编程的鱼 2023-12-28 21:07
    关注

    可以使用Python中的字典来实现对两列数据的筛选。具体步骤如下:

    1. 读取数据,将其保存为列表。

      data = []
      with open("data.txt", "r") as f:
       for line in f:
           data.append(line.strip().split())
      
    2. 构建一个字典,将第一列作为键,第二列作为值,并将值保存为列表。

      dict_data = {}
      for d in data:
       if d[0] not in dict_data:
           dict_data[d[0]] = [d[1]]
       else:
           dict_data[d[0]].append(d[1])
      
    3. 遍历字典,将相关的值保存到一个列表中,并输出结果。

      result = []
      for key, value in dict_data.items():
       if len(value) > 1:
           result.extend([key] + value)
       else:
           result.append(key + " " + value[0])
      print(result)
      

    完整代码如下:

    data = []
    with open("data.txt", "r") as f:
        for line in f:
            data.append(line.strip().split())
    
    dict_data = {}
    for d in data:
        if d[0] not in dict_data:
            dict_data[d[0]] = [d[1]]
        else:
            dict_data[d[0]].append(d[1])
    
    result = []
    for key, value in dict_data.items():
        if len(value) > 1:
            result.extend([key] + value)
        else:
            result.append(key + " " + value[0])
    print(result)
    

    假设数据保存在data.txt文件中,文件内容如下:

    1 2
    1 3
    4 1
    2 5
    6 3
    7 8
    

    运行以上代码,将输出以下结果:

    ['1', '2', '3', '4', '5', '6', '7 8']
    

    其中,结果中的每一组数表示相关的数据,例如"1 2 3"表示第一列为1的数据中,第二列为2和3的数据。最后一组"7 8"表示第一列为7的数据中,第二列为8的数据。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月28日

悬赏问题

  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?