向DataSet中追加列

  public  DataSet GetIndentByNum( string  id)
        
{

            
string sql = "select DHZZD.*,SYS_YHB.XM from DHZZD INNER JOIN SYS_YHB ON DHZZD.ZDY = SYS_YHB.YHID where DDBH = '" + id + "'";
            
            
try
            
{
                DataSet ds 
= null;
                ds 
= SqlServerHelper.Query(sql);
                ds.Tables[
0].Columns.Add("CPMC"typeof(string));
                ds.Tables[
0].Columns.Add("KHMC"typeof(string));
                
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                
{
                    ds.Tables[
0].Rows[i]["CPMC"= XZD_Product.GetProductNameByNo(ds.Tables[0].Rows[i]["CPBH"].ToString());
                    ds.Tables[
0].Rows[i]["KHMC"= XZD_Custom.GetCustomNameByNo(ds.Tables[0].Rows[i]["KHBH"].ToString());
                }

                
return ds;
            }

            
catch
            
{
                
return null;
            }

           
        }
 
def aprioriGen(Lk, k): retList = [] lenLk = len(Lk) for i in range(lenLk): for j in range(i + 1, lenLk): # 两两组合遍历 L1 = list(Lk[i])[:k - 2] L2 = list(Lk[j])[:k - 2] L1.sort() L2.sort() if L1 == L2: # 前k-1项相等,则可相乘,这样可防止重复项出现 # 进行剪枝(a1为k项集的一个元素,b为它的所有k-1项子集) a = Lk[i] | Lk[j] # a为frozenset()集合 a1 = list(a) b = [] # 遍历取出每一个元素,转换为set,依次从a1剔除该元素,并加入到b for q in range(len(a1)): t = [a1[q]] tt = frozenset(set(a1) - set(t)) b.append(tt) t = 0 for w in b: # 当b(即所有k-1项子集)都是Lk(频繁的)的子集,则保留,否则删除。 if w in Lk: t += 1 if t == len(b): retList.append(b[0] | b[1]) return retList def apriori(dataSet, minSupport=0.2): # 前3条语句是对计算查找单个元素的频繁项集 C1 = createC1(dataSet) D = list(map(set, dataSet)) # 使用list()转换为表 L1, supportData = calSupport(D, C1, minSupport) L = [L1] # 加表框,使得1项集为一个单独元素 k = 2 while (len(L[k - 2]) > 0): # 是否还有候选集 Ck = aprioriGen(L[k - 2], k) Lk, supK = scanD(D, Ck, minSupport) # scan DB to get Lk supportData.update(supK) # 把supk的键值对添加到supportData里 L.append(Lk) # L最后一个值为空集 k += 1 del L[-1] # 删除最后一个空集 return L, supportData # L为频繁项集,为一个表,1,2,3项集分别为一个元素 # 生成集合的所有子集标注解释
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值