forked from Open-CT/opendata
1488 lines
54 KiB
Plaintext
1488 lines
54 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "12d3399b",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import pandas as pd\n",
|
|
"import json \n",
|
|
"import numpy as np\n",
|
|
"import ast\n",
|
|
"from datetime import datetime\n",
|
|
"import plotly.graph_objs as go\n",
|
|
"from plotly.offline import plot\n",
|
|
"import plotly.offline as offline\n",
|
|
"from pandas.core.indexes import interval\n",
|
|
"import re"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "a393eefb",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>user</th>\n",
|
|
" <th>type</th>\n",
|
|
" <th>contest_id</th>\n",
|
|
" <th>ticket_id</th>\n",
|
|
" <th>start_time</th>\n",
|
|
" <th>expire_time</th>\n",
|
|
" <th>stop_time</th>\n",
|
|
" <th>mobile_alert</th>\n",
|
|
" <th>task_answers</th>\n",
|
|
" <th>user_agent</th>\n",
|
|
" <th>client_ip</th>\n",
|
|
" <th>school</th>\n",
|
|
" <th>tag</th>\n",
|
|
" <th>name</th>\n",
|
|
" <th>owner</th>\n",
|
|
" <th>state</th>\n",
|
|
" <th>is_parent</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/人文素养</td>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>2021-07-12T20:20:37+08:00</td>\n",
|
|
" <td>2021-07-12T22:20:37+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"canvas\\\":{\\\"input\\\":[\\\"全球\\\",\\\"\\\"]},\\\"basi...</td>\n",
|
|
" <td>Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like M...</td>\n",
|
|
" <td>223.104.44.17</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/学生试测问卷</td>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>2021-07-14T09:50:28+08:00</td>\n",
|
|
" <td>2021-07-15T09:50:28+08:00</td>\n",
|
|
" <td>2021-07-14T09:51:43+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"basic\\\":[1,[1],[1,1,1,1,1,1],[1,1,1,1]]}\"...</td>\n",
|
|
" <td>Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.3...</td>\n",
|
|
" <td>61.157.144.175</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/智能计算素养</td>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>2021-07-13T14:32:05+08:00</td>\n",
|
|
" <td>2021-07-13T17:52:05+08:00</td>\n",
|
|
" <td>2021-07-13T15:01:55+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"frame\\\":{\\\"level\\\":\\\"easy\\\",\\\"data\\\":{\\\"s...</td>\n",
|
|
" <td>Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20...</td>\n",
|
|
" <td>61.157.144.169</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/问题解决素养</td>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>2021-07-13T14:14:54+08:00</td>\n",
|
|
" <td>2021-07-13T15:14:54+08:00</td>\n",
|
|
" <td>2021-07-13T14:28:03+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"frame\\\":{\\\"page\\\":8,\\\"answer\\\":[[1],[2],[...</td>\n",
|
|
" <td>Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20...</td>\n",
|
|
" <td>61.157.144.169</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/高中生问卷一</td>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>2021-07-14T09:53:35+08:00</td>\n",
|
|
" <td>2021-07-15T09:53:35+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"basic\\\":[2,1,2,1,1,1,1,1,1,[1,1,1,1,1,1],...</td>\n",
|
|
" <td>Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.3...</td>\n",
|
|
" <td>61.157.144.175</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/高中生问卷三</td>\n",
|
|
" <td>10075</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[]</td>\n",
|
|
" <td>Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like M...</td>\n",
|
|
" <td>223.104.44.17</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试75</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/人文素养</td>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>2021-07-12T20:17:48+08:00</td>\n",
|
|
" <td>2021-07-12T22:17:48+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"canvas\\\":{\\\"input\\\":[\\\"1\\\",\\\"\\\"]},\\\"basic...</td>\n",
|
|
" <td>Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M...</td>\n",
|
|
" <td>123.119.238.227</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/学生试测问卷</td>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[]</td>\n",
|
|
" <td>Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M...</td>\n",
|
|
" <td>123.119.238.227</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/智能计算素养</td>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>2021-07-13T15:24:29+08:00</td>\n",
|
|
" <td>2021-07-13T18:44:29+08:00</td>\n",
|
|
" <td>2021-07-13T15:31:36+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"frame\\\":{\\\"level\\\":\\\"easy\\\",\\\"data\\\":{\\\"s...</td>\n",
|
|
" <td>Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20...</td>\n",
|
|
" <td>61.157.144.169</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/问题解决素养</td>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>2021-07-13T15:20:22+08:00</td>\n",
|
|
" <td>2021-07-13T16:20:22+08:00</td>\n",
|
|
" <td>2021-07-13T15:24:09+08:00</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[\"{\\\"frame\\\":{\\\"page\\\":8,\\\"answer\\\":[[1],[1],[...</td>\n",
|
|
" <td>Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M...</td>\n",
|
|
" <td>123.119.238.227</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>ticket-user</td>\n",
|
|
" <td>mianyang/高中生问卷一</td>\n",
|
|
" <td>10076</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>[]</td>\n",
|
|
" <td>Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M...</td>\n",
|
|
" <td>123.119.238.227</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷...</td>\n",
|
|
" <td>学生测试76</td>\n",
|
|
" <td>mianyang</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" user type contest_id ticket_id start_time \\\n",
|
|
"0 10075 ticket-user mianyang/人文素养 10075 2021-07-12T20:20:37+08:00 \n",
|
|
"1 10075 ticket-user mianyang/学生试测问卷 10075 2021-07-14T09:50:28+08:00 \n",
|
|
"2 10075 ticket-user mianyang/智能计算素养 10075 2021-07-13T14:32:05+08:00 \n",
|
|
"3 10075 ticket-user mianyang/问题解决素养 10075 2021-07-13T14:14:54+08:00 \n",
|
|
"4 10075 ticket-user mianyang/高中生问卷一 10075 2021-07-14T09:53:35+08:00 \n",
|
|
"5 10075 ticket-user mianyang/高中生问卷三 10075 NaN \n",
|
|
"6 10076 ticket-user mianyang/人文素养 10076 2021-07-12T20:17:48+08:00 \n",
|
|
"7 10076 ticket-user mianyang/学生试测问卷 10076 NaN \n",
|
|
"8 10076 ticket-user mianyang/智能计算素养 10076 2021-07-13T15:24:29+08:00 \n",
|
|
"9 10076 ticket-user mianyang/问题解决素养 10076 2021-07-13T15:20:22+08:00 \n",
|
|
"10 10076 ticket-user mianyang/高中生问卷一 10076 NaN \n",
|
|
"\n",
|
|
" expire_time stop_time mobile_alert \\\n",
|
|
"0 2021-07-12T22:20:37+08:00 NaN NaN \n",
|
|
"1 2021-07-15T09:50:28+08:00 2021-07-14T09:51:43+08:00 NaN \n",
|
|
"2 2021-07-13T17:52:05+08:00 2021-07-13T15:01:55+08:00 NaN \n",
|
|
"3 2021-07-13T15:14:54+08:00 2021-07-13T14:28:03+08:00 NaN \n",
|
|
"4 2021-07-15T09:53:35+08:00 NaN NaN \n",
|
|
"5 NaN NaN NaN \n",
|
|
"6 2021-07-12T22:17:48+08:00 NaN NaN \n",
|
|
"7 NaN NaN NaN \n",
|
|
"8 2021-07-13T18:44:29+08:00 2021-07-13T15:31:36+08:00 NaN \n",
|
|
"9 2021-07-13T16:20:22+08:00 2021-07-13T15:24:09+08:00 NaN \n",
|
|
"10 NaN NaN NaN \n",
|
|
"\n",
|
|
" task_answers \\\n",
|
|
"0 [\"{\\\"canvas\\\":{\\\"input\\\":[\\\"全球\\\",\\\"\\\"]},\\\"basi... \n",
|
|
"1 [\"{\\\"basic\\\":[1,[1],[1,1,1,1,1,1],[1,1,1,1]]}\"... \n",
|
|
"2 [\"{\\\"frame\\\":{\\\"level\\\":\\\"easy\\\",\\\"data\\\":{\\\"s... \n",
|
|
"3 [\"{\\\"frame\\\":{\\\"page\\\":8,\\\"answer\\\":[[1],[2],[... \n",
|
|
"4 [\"{\\\"basic\\\":[2,1,2,1,1,1,1,1,1,[1,1,1,1,1,1],... \n",
|
|
"5 [] \n",
|
|
"6 [\"{\\\"canvas\\\":{\\\"input\\\":[\\\"1\\\",\\\"\\\"]},\\\"basic... \n",
|
|
"7 [] \n",
|
|
"8 [\"{\\\"frame\\\":{\\\"level\\\":\\\"easy\\\",\\\"data\\\":{\\\"s... \n",
|
|
"9 [\"{\\\"frame\\\":{\\\"page\\\":8,\\\"answer\\\":[[1],[1],[... \n",
|
|
"10 [] \n",
|
|
"\n",
|
|
" user_agent client_ip \\\n",
|
|
"0 Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like M... 223.104.44.17 \n",
|
|
"1 Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.3... 61.157.144.175 \n",
|
|
"2 Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20... 61.157.144.169 \n",
|
|
"3 Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20... 61.157.144.169 \n",
|
|
"4 Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.3... 61.157.144.175 \n",
|
|
"5 Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like M... 223.104.44.17 \n",
|
|
"6 Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M... 123.119.238.227 \n",
|
|
"7 Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M... 123.119.238.227 \n",
|
|
"8 Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20... 61.157.144.169 \n",
|
|
"9 Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M... 123.119.238.227 \n",
|
|
"10 Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like M... 123.119.238.227 \n",
|
|
"\n",
|
|
" school tag name \\\n",
|
|
"0 学生测试75 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试75 \n",
|
|
"1 学生测试75 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试75 \n",
|
|
"2 学生测试75 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试75 \n",
|
|
"3 学生测试75 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试75 \n",
|
|
"4 学生测试75 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试75 \n",
|
|
"5 学生测试75 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试75 \n",
|
|
"6 学生测试76 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试76 \n",
|
|
"7 学生测试76 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试76 \n",
|
|
"8 学生测试76 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试76 \n",
|
|
"9 学生测试76 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试76 \n",
|
|
"10 学生测试76 我是学生,高中生问卷一,高中生问卷二,高中生问卷三,高中生问卷四,高中生问卷五,学生试测问卷... 学生测试76 \n",
|
|
"\n",
|
|
" owner state is_parent \n",
|
|
"0 mianyang NaN 0 \n",
|
|
"1 mianyang NaN 0 \n",
|
|
"2 mianyang NaN 0 \n",
|
|
"3 mianyang NaN 0 \n",
|
|
"4 mianyang NaN 0 \n",
|
|
"5 mianyang NaN 0 \n",
|
|
"6 mianyang NaN 0 \n",
|
|
"7 mianyang NaN 0 \n",
|
|
"8 mianyang NaN 0 \n",
|
|
"9 mianyang NaN 0 \n",
|
|
"10 mianyang NaN 0 "
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df = pd.read_excel('./data/data.xlsx') \n",
|
|
"for row in range(len(df)):\n",
|
|
" df._set_value(row, 'user', df.loc[row,'user'][-5:])\n",
|
|
"df"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "118fb298",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"11"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"len(df)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "140705b1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# g_contest = df.groupby('contest_id')\n",
|
|
"paper_list=[list(df.groupby('contest_id'))[i][0][9:] for i in range(len(df.groupby('contest_id')))]\n",
|
|
"paper_list\n",
|
|
"# user_list=[re.findall(r\"\\d+\",list(df.groupby('user'))[i][0]) for i in range(len(df.groupby('contest_id')))]\n",
|
|
"user_list = ['10075','10076']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "87e05f20",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'10075'"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"re.findall(r\"\\d+\", 'mianyang/人文素养/10075')[0]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "6013d4a2",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'10075'"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"'mianyang/人文素养/10075'[-5:]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "9b76d2d2",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'人文素养': {'10075': {'index': [], 'data': []},\n",
|
|
" '10076': {'index': [], 'data': []}},\n",
|
|
" '学生试测问卷': {'10075': {'index': [], 'data': []},\n",
|
|
" '10076': {'index': [], 'data': []}},\n",
|
|
" '智能计算素养': {'10075': {'index': [], 'data': []},\n",
|
|
" '10076': {'index': [], 'data': []}},\n",
|
|
" '问题解决素养': {'10075': {'index': [], 'data': []},\n",
|
|
" '10076': {'index': [], 'data': []}},\n",
|
|
" '高中生问卷一': {'10075': {'index': [], 'data': []},\n",
|
|
" '10076': {'index': [], 'data': []}},\n",
|
|
" '高中生问卷三': {'10075': {'index': [], 'data': []},\n",
|
|
" '10076': {'index': [], 'data': []}}}"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"res_dic={}\n",
|
|
"for paper in paper_list:\n",
|
|
" res_dic[paper]={}\n",
|
|
" for user in user_list:\n",
|
|
" res_dic[paper][user]={'index':[],'data':[]}\n",
|
|
"res_dic"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "7ec425f4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def remove_str_per_row(data_per_row):\n",
|
|
" frame_list = ast.literal_eval(data_per_row)\n",
|
|
" frame_dic_list = []\n",
|
|
" for index in range(len(frame_list)):\n",
|
|
" temp = json.loads(frame_list[index])\n",
|
|
" if 'frame' in temp.keys():\n",
|
|
" if 'data' in temp.keys():\n",
|
|
" frame_dic_list.append(list(temp['frame']['data'].values())) \n",
|
|
" else:\n",
|
|
" frame_dic_list.append(list(temp['frame'].values())) \n",
|
|
" else:\n",
|
|
" frame_dic_list.append(temp) \n",
|
|
" return frame_dic_list\n",
|
|
"\n",
|
|
"def remove_str(df):\n",
|
|
" return 0\n",
|
|
"# ndf_ans_8_list = []\n",
|
|
"# ndf_rm_frame = []\n",
|
|
"# for i in range(len(df)):\n",
|
|
"# dic_temp = self.remove_str_per_row(self.df.loc[i,'task_answers'])\n",
|
|
"# ndf_ans_8_list.append(dic_temp)\n",
|
|
"# new_dic_list = []\n",
|
|
"# for dic in dic_temp:\n",
|
|
"# dic = dic['frame']\n",
|
|
"# new_dic = dic\n",
|
|
"# new_dic_list.append(new_dic)\n",
|
|
"# ndf_rm_frame.append(new_dic_list)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"id": "f54ade61",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'canvas': {'input': ['啦啦啦', '']}, 'basic': ['我', '你', '是', '是'], 'deck': 5}"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"test_str= df.loc[0,'task_answers']\n",
|
|
"a = remove_str_per_row(test_str)\n",
|
|
"a[1]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"id": "335f578f",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"['哈哈哈']"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a[2]['basic']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"id": "4cc7f2a8",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'version': '2.4.3',\n",
|
|
" 'objects': [{'type': 'group',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': -13.75,\n",
|
|
" 'top': 160.25,\n",
|
|
" 'width': 81.25,\n",
|
|
" 'height': 148.25,\n",
|
|
" 'fill': 'rgb(0,0,0)',\n",
|
|
" 'stroke': None,\n",
|
|
" 'strokeWidth': 0,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'objects': [{'type': 'line',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'center',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': 2.62,\n",
|
|
" 'top': 2.62,\n",
|
|
" 'width': 73,\n",
|
|
" 'height': 140,\n",
|
|
" 'fill': 'black',\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'x1': 36.5,\n",
|
|
" 'x2': -36.5,\n",
|
|
" 'y1': 70,\n",
|
|
" 'y2': -70},\n",
|
|
" {'type': 'triangle',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'center',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': -33.88,\n",
|
|
" 'top': -67.38,\n",
|
|
" 'width': 9,\n",
|
|
" 'height': 9,\n",
|
|
" 'fill': 'black',\n",
|
|
" 'stroke': None,\n",
|
|
" 'strokeWidth': 1,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': -27.54,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0}]},\n",
|
|
" {'type': 'group',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': 31.45,\n",
|
|
" 'top': 155.45,\n",
|
|
" 'width': 47.05,\n",
|
|
" 'height': 100.05,\n",
|
|
" 'fill': 'rgb(0,0,0)',\n",
|
|
" 'stroke': None,\n",
|
|
" 'strokeWidth': 0,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'objects': [{'type': 'line',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'center',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': 2.53,\n",
|
|
" 'top': 2.53,\n",
|
|
" 'width': 39,\n",
|
|
" 'height': 92,\n",
|
|
" 'fill': 'black',\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'x1': 19.5,\n",
|
|
" 'x2': -19.5,\n",
|
|
" 'y1': 46,\n",
|
|
" 'y2': -46},\n",
|
|
" {'type': 'triangle',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'center',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': -16.97,\n",
|
|
" 'top': -43.47,\n",
|
|
" 'width': 9,\n",
|
|
" 'height': 9,\n",
|
|
" 'fill': 'black',\n",
|
|
" 'stroke': None,\n",
|
|
" 'strokeWidth': 1,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': -22.97,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0}]},\n",
|
|
" {'type': 'group',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': 68.25,\n",
|
|
" 'top': 228.25,\n",
|
|
" 'width': 67.25,\n",
|
|
" 'height': 17.25,\n",
|
|
" 'fill': 'rgb(0,0,0)',\n",
|
|
" 'stroke': None,\n",
|
|
" 'strokeWidth': 0,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'objects': [{'type': 'line',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'center',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': 2.13,\n",
|
|
" 'top': 2.13,\n",
|
|
" 'width': 60,\n",
|
|
" 'height': 10,\n",
|
|
" 'fill': 'black',\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'x1': 30,\n",
|
|
" 'x2': -30,\n",
|
|
" 'y1': 5,\n",
|
|
" 'y2': -5},\n",
|
|
" {'type': 'triangle',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'center',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': -27.87,\n",
|
|
" 'top': -2.87,\n",
|
|
" 'width': 9,\n",
|
|
" 'height': 9,\n",
|
|
" 'fill': 'black',\n",
|
|
" 'stroke': None,\n",
|
|
" 'strokeWidth': 1,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': -80.54,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0}]},\n",
|
|
" {'type': 'path',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': 118.5,\n",
|
|
" 'top': 115.77290985718432,\n",
|
|
" 'width': 133,\n",
|
|
" 'height': 210.73,\n",
|
|
" 'fill': None,\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'round',\n",
|
|
" 'strokeLineJoin': 'round',\n",
|
|
" 'strokeMiterLimit': 10,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'path': [['M', 194.003, 127.997],\n",
|
|
" ['Q', 194, 128, 188.5, 133.5],\n",
|
|
" ['Q', 183, 139, 179.5, 143.5],\n",
|
|
" ['Q', 176, 148, 172.5, 154.5],\n",
|
|
" ['Q', 169, 161, 165.5, 168.5],\n",
|
|
" ['Q', 162, 176, 158.5, 183.5],\n",
|
|
" ['Q', 155, 191, 151.5, 197],\n",
|
|
" ['Q', 148, 203, 145, 208],\n",
|
|
" ['Q', 142, 213, 140, 215],\n",
|
|
" ['Q', 138, 217, 137.5, 217.5],\n",
|
|
" ['Q', 137, 218, 137, 217.5],\n",
|
|
" ['Q', 137, 217, 137, 217.5],\n",
|
|
" ['Q', 137, 218, 135.5, 219],\n",
|
|
" ['Q', 134, 220, 133, 221.5],\n",
|
|
" ['Q', 132, 223, 130.5, 223.5],\n",
|
|
" ['Q', 129, 224, 128, 225],\n",
|
|
" ['Q', 127, 226, 132, 226],\n",
|
|
" ['Q', 137, 226, 144.5, 222.5],\n",
|
|
" ['Q', 152, 219, 161, 214],\n",
|
|
" ['Q', 170, 209, 179.5, 202.5],\n",
|
|
" ['Q', 189, 196, 198, 188.5],\n",
|
|
" ['Q', 207, 181, 215.5, 173],\n",
|
|
" ['Q', 224, 165, 231.5, 157.5],\n",
|
|
" ['Q', 239, 150, 244, 143.5],\n",
|
|
" ['Q', 249, 137, 251, 131],\n",
|
|
" ['Q', 253, 125, 253, 121.5],\n",
|
|
" ['Q', 253, 118, 247.5, 117.5],\n",
|
|
" ['Q', 242, 117, 233, 121],\n",
|
|
" ['Q', 224, 125, 213.5, 134.5],\n",
|
|
" ['Q', 203, 144, 190.5, 158.5],\n",
|
|
" ['Q', 178, 173, 166.5, 192],\n",
|
|
" ['Q', 155, 211, 146, 231],\n",
|
|
" ['Q', 137, 251, 130.5, 270],\n",
|
|
" ['Q', 124, 289, 122, 300.5],\n",
|
|
" ['Q', 120, 312, 120, 316.5],\n",
|
|
" ['Q', 120, 321, 125, 321.5],\n",
|
|
" ['Q', 130, 322, 137, 320.5],\n",
|
|
" ['Q', 144, 319, 153.5, 313],\n",
|
|
" ['Q', 163, 307, 173, 298],\n",
|
|
" ['Q', 183, 289, 192.5, 278],\n",
|
|
" ['Q', 202, 267, 211, 255],\n",
|
|
" ['Q', 220, 243, 227.5, 231],\n",
|
|
" ['Q', 235, 219, 239.5, 207.5],\n",
|
|
" ['Q', 244, 196, 245.5, 185],\n",
|
|
" ['Q', 247, 174, 247, 163.5],\n",
|
|
" ['Q', 247, 153, 242, 145],\n",
|
|
" ['Q', 237, 137, 229.5, 132.5],\n",
|
|
" ['Q', 222, 128, 211, 132],\n",
|
|
" ['Q', 200, 136, 187.5, 151.5],\n",
|
|
" ['Q', 175, 167, 165, 189],\n",
|
|
" ['Q', 155, 211, 148, 233.5],\n",
|
|
" ['Q', 141, 256, 138.5, 275.5],\n",
|
|
" ['Q', 136, 295, 136, 306.5],\n",
|
|
" ['Q', 136, 318, 138.5, 323],\n",
|
|
" ['Q', 141, 328, 146, 328],\n",
|
|
" ['Q', 151, 328, 158, 326],\n",
|
|
" ['Q', 165, 324, 174, 317],\n",
|
|
" ['Q', 183, 310, 192, 300.5],\n",
|
|
" ['Q', 201, 291, 210, 279.5],\n",
|
|
" ['Q', 219, 268, 227, 256.5],\n",
|
|
" ['Q', 235, 245, 241.5, 234],\n",
|
|
" ['L', 248.003, 222.997]]},\n",
|
|
" {'type': 'path',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': 97.5,\n",
|
|
" 'top': 65.625,\n",
|
|
" 'width': 129,\n",
|
|
" 'height': 346.88,\n",
|
|
" 'fill': None,\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'round',\n",
|
|
" 'strokeLineJoin': 'round',\n",
|
|
" 'strokeMiterLimit': 10,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'path': [['M', 105.003, 414.003],\n",
|
|
" ['Q', 105, 414, 102, 408.5],\n",
|
|
" ['Q', 99, 403, 99, 390.5],\n",
|
|
" ['Q', 99, 378, 102, 359],\n",
|
|
" ['Q', 105, 340, 110.5, 318.5],\n",
|
|
" ['Q', 116, 297, 125, 274],\n",
|
|
" ['Q', 134, 251, 143.5, 229],\n",
|
|
" ['Q', 153, 207, 163.5, 186],\n",
|
|
" ['Q', 174, 165, 184, 146],\n",
|
|
" ['Q', 194, 127, 202, 112],\n",
|
|
" ['Q', 210, 97, 216, 87],\n",
|
|
" ['Q', 222, 77, 224.5, 72.5],\n",
|
|
" ['Q', 227, 68, 227.5, 67.5],\n",
|
|
" ['Q', 228, 67, 228, 67.5],\n",
|
|
" ['Q', 228, 68, 226.5, 70],\n",
|
|
" ['L', 224.997, 72.003]]},\n",
|
|
" {'type': 'path',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': -10.503,\n",
|
|
" 'top': 156.497,\n",
|
|
" 'width': 69,\n",
|
|
" 'height': 204.01,\n",
|
|
" 'fill': None,\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'round',\n",
|
|
" 'strokeLineJoin': 'round',\n",
|
|
" 'strokeMiterLimit': 10,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'path': [['M', 60, 362.003],\n",
|
|
" ['Q', 60, 362, 60, 358],\n",
|
|
" ['Q', 60, 354, 60, 344],\n",
|
|
" ['Q', 60, 334, 56.5, 317.5],\n",
|
|
" ['Q', 53, 301, 45.5, 281],\n",
|
|
" ['Q', 38, 261, 30.5, 243.5],\n",
|
|
" ['Q', 23, 226, 19, 215],\n",
|
|
" ['Q', 15, 204, 11, 196],\n",
|
|
" ['Q', 7, 188, 3, 181],\n",
|
|
" ['Q', -1, 174, -5, 166],\n",
|
|
" ['L', -9.003, 157.997]]},\n",
|
|
" {'type': 'path',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': -2.503,\n",
|
|
" 'top': 182.497,\n",
|
|
" 'width': 60.01,\n",
|
|
" 'height': 182.01,\n",
|
|
" 'fill': None,\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'round',\n",
|
|
" 'strokeLineJoin': 'round',\n",
|
|
" 'strokeMiterLimit': 10,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'path': [['M', 59.003, 366.003],\n",
|
|
" ['Q', 59, 366, 58.5, 363.5],\n",
|
|
" ['Q', 58, 361, 58, 357],\n",
|
|
" ['Q', 58, 353, 55.5, 339.5],\n",
|
|
" ['Q', 53, 326, 48, 311],\n",
|
|
" ['Q', 43, 296, 37.5, 281.5],\n",
|
|
" ['Q', 32, 267, 27, 253.5],\n",
|
|
" ['Q', 22, 240, 19, 230.5],\n",
|
|
" ['Q', 16, 221, 14.5, 218],\n",
|
|
" ['Q', 13, 215, 11.5, 213],\n",
|
|
" ['Q', 10, 211, 9, 208],\n",
|
|
" ['Q', 8, 205, 6.5, 202.5],\n",
|
|
" ['Q', 5, 200, 4, 197.5],\n",
|
|
" ['Q', 3, 195, 2, 192.5],\n",
|
|
" ['Q', 1, 190, 0, 187],\n",
|
|
" ['L', -1.003, 183.997]]},\n",
|
|
" {'type': 'path',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': 284.5,\n",
|
|
" 'top': -22.502999999999986,\n",
|
|
" 'width': 19,\n",
|
|
" 'height': 389.01,\n",
|
|
" 'fill': None,\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'round',\n",
|
|
" 'strokeLineJoin': 'round',\n",
|
|
" 'strokeMiterLimit': 10,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'path': [['M', 305, 368.003],\n",
|
|
" ['Q', 305, 368, 305, 362],\n",
|
|
" ['Q', 305, 356, 301.5, 341.5],\n",
|
|
" ['Q', 298, 327, 294.5, 307],\n",
|
|
" ['Q', 291, 287, 289, 265.5],\n",
|
|
" ['Q', 287, 244, 286.5, 221],\n",
|
|
" ['Q', 286, 198, 286, 173],\n",
|
|
" ['Q', 286, 148, 288.5, 122.5],\n",
|
|
" ['Q', 291, 97, 295, 75.5],\n",
|
|
" ['Q', 299, 54, 300.5, 40.5],\n",
|
|
" ['Q', 302, 27, 302.5, 18],\n",
|
|
" ['Q', 303, 9, 303, 3],\n",
|
|
" ['Q', 303, -3, 302, -7.5],\n",
|
|
" ['Q', 301, -12, 300, -14.5],\n",
|
|
" ['Q', 299, -17, 298.5, -18],\n",
|
|
" ['Q', 298, -19, 298, -19.5],\n",
|
|
" ['Q', 298, -20, 298.5, -20.5],\n",
|
|
" ['L', 299.003, -21.003]]}]}"
|
|
]
|
|
},
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a[2]['sketch']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "def352af",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"for row in range(len(df)):\n",
|
|
" user_index = df.loc[row, 'user']\n",
|
|
" paper_index = df.loc[row, 'contest_id'][9:]\n",
|
|
" cnt = 0\n",
|
|
" for task_ans in remove_str_per_row(df.loc[row, 'task_answers']):\n",
|
|
" cnt += 1\n",
|
|
" res_dic[paper_index][user_index]['index'].append('task_' + str(cnt))\n",
|
|
" res_dic[paper_index][user_index]['data'].append(task_ans)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "8d0142d1",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'index': ['task_1', 'task_2', 'task_3'],\n",
|
|
" 'data': [{'canvas': {'input': ['1', '']}, 'basic': ['1', '1'], 'deck': 1},\n",
|
|
" {'canvas': {'input': ['1', '']}, 'basic': ['1', '1', '1', '1'], 'deck': 1},\n",
|
|
" {'basic': ['1'],\n",
|
|
" 'sketch': {'version': '2.4.3',\n",
|
|
" 'objects': [{'type': 'i-text',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': 279,\n",
|
|
" 'top': 201.4,\n",
|
|
" 'width': 2,\n",
|
|
" 'height': 45.2,\n",
|
|
" 'fill': 'rgb(0,0,0)',\n",
|
|
" 'stroke': None,\n",
|
|
" 'strokeWidth': 1,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'text': '',\n",
|
|
" 'fontSize': 40,\n",
|
|
" 'fontWeight': 'normal',\n",
|
|
" 'fontFamily': 'Times New Roman',\n",
|
|
" 'fontStyle': 'normal',\n",
|
|
" 'lineHeight': 1.16,\n",
|
|
" 'underline': False,\n",
|
|
" 'overline': False,\n",
|
|
" 'linethrough': False,\n",
|
|
" 'textAlign': 'left',\n",
|
|
" 'textBackgroundColor': '',\n",
|
|
" 'charSpacing': 0,\n",
|
|
" 'styles': {}},\n",
|
|
" {'type': 'rect',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'top',\n",
|
|
" 'left': 64,\n",
|
|
" 'top': 116,\n",
|
|
" 'width': 272,\n",
|
|
" 'height': 91,\n",
|
|
" 'fill': 'red',\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 0,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'rx': 0,\n",
|
|
" 'ry': 0},\n",
|
|
" {'type': 'circle',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': 168,\n",
|
|
" 'top': 75,\n",
|
|
" 'width': 138.81,\n",
|
|
" 'height': 138.81,\n",
|
|
" 'fill': 'red',\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 6.2,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'radius': 69.40641180755564,\n",
|
|
" 'startAngle': 0,\n",
|
|
" 'endAngle': 6.283185307179586},\n",
|
|
" {'type': 'circle',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': 78,\n",
|
|
" 'top': 55,\n",
|
|
" 'width': 145,\n",
|
|
" 'height': 145,\n",
|
|
" 'fill': 'red',\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 24.44,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'radius': 72.49827584156743,\n",
|
|
" 'startAngle': 0,\n",
|
|
" 'endAngle': 6.283185307179586},\n",
|
|
" {'type': 'circle',\n",
|
|
" 'version': '2.4.3',\n",
|
|
" 'originX': 'left',\n",
|
|
" 'originY': 'center',\n",
|
|
" 'left': 137,\n",
|
|
" 'top': 173,\n",
|
|
" 'width': 145.62,\n",
|
|
" 'height': 145.62,\n",
|
|
" 'fill': 'red',\n",
|
|
" 'stroke': 'black',\n",
|
|
" 'strokeWidth': 3,\n",
|
|
" 'strokeDashArray': None,\n",
|
|
" 'strokeLineCap': 'butt',\n",
|
|
" 'strokeLineJoin': 'miter',\n",
|
|
" 'strokeMiterLimit': 4,\n",
|
|
" 'scaleX': 1,\n",
|
|
" 'scaleY': 1,\n",
|
|
" 'angle': 23.04,\n",
|
|
" 'flipX': False,\n",
|
|
" 'flipY': False,\n",
|
|
" 'opacity': 1,\n",
|
|
" 'shadow': None,\n",
|
|
" 'visible': True,\n",
|
|
" 'clipTo': None,\n",
|
|
" 'backgroundColor': '',\n",
|
|
" 'fillRule': 'nonzero',\n",
|
|
" 'paintFirst': 'fill',\n",
|
|
" 'globalCompositeOperation': 'source-over',\n",
|
|
" 'transformMatrix': None,\n",
|
|
" 'skewX': 0,\n",
|
|
" 'skewY': 0,\n",
|
|
" 'radius': 72.80968342191855,\n",
|
|
" 'startAngle': 0,\n",
|
|
" 'endAngle': 6.283185307179586}]},\n",
|
|
" 'deck': 3}]}"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"res_dic['人文素养'].keys()\n",
|
|
"res_dic['人文素养']['10076']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "a39f38b5",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"人文素养\n",
|
|
"10075\n",
|
|
"10076\n",
|
|
"学生试测问卷\n",
|
|
"10075\n",
|
|
"10076\n",
|
|
"智能计算素养\n",
|
|
"10075\n",
|
|
"10076\n",
|
|
"问题解决素养\n",
|
|
"10075\n",
|
|
"10076\n",
|
|
"高中生问卷一\n",
|
|
"10075\n",
|
|
"10076\n",
|
|
"高中生问卷三\n",
|
|
"10075\n",
|
|
"10076\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for paper_index in res_dic.keys():\n",
|
|
" Writer = pd.ExcelWriter(\"./output/\"+paper_index+\".xlsx\") \n",
|
|
" print(paper_index)\n",
|
|
" for user_index in res_dic[paper_index].keys():\n",
|
|
" print(user_index)\n",
|
|
" out_pd = pd.DataFrame(index = res_dic[paper_index][user_index]['index'], data = {'data': res_dic[paper_index][user_index]['data']})\n",
|
|
" out_pd.to_excel(Writer,user_index)\n",
|
|
" Writer.save()\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "14ff7e5d",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"\"dict_values(['b'])\""
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = {'a':'b'}\n",
|
|
"str(a.values())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "22a37a39",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.8"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|