python中的预处理

2024-05-19 13:59:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,想知道您对实现以下预处理块(我已经使用ibmopl实现)的最佳方法的看法

我在以下代码中所做的如下:

我已经创建了一个称为edu\u bg的空二维矩阵。我已经有了一个查询,它提供了我的数据库表(我使用stuCount变量存储)中的学生数量和他们的教育背景。 所以我在这里做的是,我每次比较一对学生,如果他们的教育背景相同,我把他们作为一个输入到二维矩阵中,如果他们的教育背景不同,我把他们作为零。你知道吗

我的代码如下:

    int edu_bg[student][student];

    execute PREPROCESSING{

    for(i=1; i <=stuCount; i++){
      for(j=i+1; j <=stuCount; j++){
       if(stu_info[i].edu==stu_info[j].edu){
          edu_bg[i][j] =1 
           }
       else{
         edu_bg[i][j] =0
           }
       }
   }

我试着用python做同样的事情,但我发现这真的很困难。因为我看不到比较学生记录的清晰方法。你知道吗

我将所有内容设置为与数据库连接,并使用python获取记录,如下所示:

    con = sqlite3.connect(os.path.join('..','db_path', 'db'))
    cur = con.cursor()
    cur.execute('select id,edu from student_data') 
    result = cur.fetchall()
    for i in result:
       print i[0] 

好的。当我打印i[0]时,它会给我所有学生的id。当我打印I[1]时,它会给我学生的教育细节(在我的数据库中,我将它存储为一个整数,例如:11,22)。我对他们的教育是一个基于怎样比较的问题。我的问题是关于数据结构。我走的路对吗?你知道吗


Tags: 方法代码info数据库forexecute矩阵student
1条回答
网友
1楼 · 发布于 2024-05-19 13:59:20

经过一番努力,我成功地编写了如下代码。欢迎对改进提出任何意见。你知道吗

    data=curr.execute('select id,edu from student_data')
    result = curr.fetchall()
    mydic1=dict(result)

    data2=curr.execute('select id,edu from student_data ')
    result2 = curr.fetchall()
    mydic2=dict(result2)

    looping=curr.execute('select count(id) from student_data')
    loop_times = curr.fetchall()
    count = int(loop_times[0][0])

    count = count + 1
    edu=defaultdict(int)
    a=0
    for i in range(1,count):
       row = [] 
       for j in range(i+1, count):
           if mydic1[i]==mydic2[j]:
               row.append(1)
           else:
             row.append(0)
           edu[a]=row
           a+=1
      print edu

相关问题 更多 >