好友
阅读权限 10
听众
最后登录 1970-1-1
本帖最后由 苏紫方璇 于 2023-7-8 20:45 编辑
事情是这样的,我是一个技术小白,从网上找了一个技术帮忙写代码,但是他发我之后没办法用,大佬们有时间可以帮忙看下这个有问题吗?
import pandas as pd
import random
from itertools import combinations
# 读取数据
data = pd .read_excel ('./测试.xlsx' , header = None )
## 全部取法
count = 6
res_list = []
# 选择任意count+1组数据进行比较,得到全部组合
selected_groups = list (combinations (data .values , count + 1 ))
# 对每一组合进行计算
for groups in selected_groups :
common_numbers = set (groups [0 ]) # 初始化为第一组数据的数字集合
for numbers in range (1 , len (groups )):
common_numbers = common_numbers .intersection (groups [numbers ])
if len (common_numbers ) == 6 :
res_list .append (common_numbers )
# 去重操作
res_list = list (set (tuple (sorted (s )) for s in res_list ))
# 计算结果次数
print (len (res_list ))
# 保存计算结果
pd .DataFrame (res_list ).to_excel (f './全部取法_ { data .shape [0 ]} 组计算 { count } 次.xlsx' , index = False , header = None )
这是他写的代码下面是我的需求0.1.2.3.4.5.6.7.8.90.1.2.3.4.5.6.7.8.100.1.2.3.4.5.6.7.8.11....0.1.2.3.4.5.6.7.8.1000.1.2.3.4.5.6.7.9.100.1.2.3.4.5.6.7.9.11...0.1.2.3.4.5.6.7.9.1000.1.2.3.4.5.6.7.10.110.1.2.3.4.5.6.7.10.12...0.1.2.3.4.5.6.7.99.1000.1.2.3.4.5.6.8.9.100.1.2.3.4.5.6.8.9.11...0.1.2.3.4.5.6.98.99.100...然后一直到0.2.3.4.5.6.7.8.9.100.2.3.4.5.6.7.8.9.11...0.92.93.94.95.96.97.98.99.100然后1.2.3.4.5.6.7.8.9.101.2.3.4.5.6.7.8.9.11...1.92.93.94.95.96.97.98.99.100
0123456这些数字代表各代表一组数字,每组25个 然后每10组做比较 如果比较完之后相同的数字是六个数字就保留 大于或小于六个就作废
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。