用户画像接口

# 导入Flask类
from flask import Flask, jsonify, request
import json
import gensim
import os
import LAC
import tensorflow as tf
import numpy as np
import pandas as pd
import sklearn.utils
import sklearn
import os
from sklearn.decomposition import PCA
import time
import collections
import sklearn.model_selection
import happybase
import joblib
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
from sklearn.cluster import KMeans
from sklearn.svm import SVC
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import StandardScaler
from bayes_opt import BayesianOptimization
from sklearn.model_selection import cross_val_score
from sklearn.feature_selection import RFE
from tensorflow.keras.models import load_model# 实例化,可视为固定格式
app =Flask(__name__)def pre_chuli(content_list,type_list):
#     title_list_list = []
#     x_list_list = []
#     for i in range(2):
#         temp_list = content_list[i]
#         title_list = []
#         content_list = []
#         for j in range(10):
#             title_dic = {}
#             content_dic = {}
#             t_text = temp_list[j]["title"]
#             c_text = temp_list[j]["content"]
#             lac = LAC.LAC(mode="seg")
#             word_title = lac.run(t_text)
#             word_content = lac.run(c_text)
#             title_dic["title"] = word_title
#             content_dic["content"] = word_content
#             title_list.append(title_dic)
#             content_list.append(content_dic)
#         title_list_list.append(title_list)
#         x_list_list.append(content_list)title_list_list = []for i in range(len(content_list)):temp_list = content_list[i]title_list = []for j in range(len(content_list[i])):title_dic = {}c_text = temp_list[j]["title"]lac = LAC.LAC(mode="seg")word_list = lac.run(c_text)title_dic["title"] = word_listtitle_list.append(title_dic)title_list_list.append(title_list)x_list_list = []for i in range(len(content_list)):temp_list = content_list[i]x_list = []for j in range(len(temp_list)):x_dic = {}c_text = temp_list[j]["content"]lac = LAC.LAC(mode="seg")word_list = lac.run(c_text)x_dic["content"] = word_listx_list.append(x_dic)x_list_list.append(x_list)title_tokenize_list = []#age_list = []for i in range(len(content_list)):#   age = temp_function(int(df.loc[index,"age"]))temp_text_list = []for j in range(10):c_text_list = [*title_list_list[i][j]["title"],"<PADDING>",*x_list_list[i][j]["content"][:512]]temp_text_list.append(c_text_list)     title_tokenize_list.append(temp_text_list)with open(r"../data/predict_user_attribute20200911/raw_data/user_profile/age/test最终数据集tokenize2.jsonl","w",encoding='UTF-8') as f:for content_tokenize in zip(title_tokenize_list):f.write(json.dumps({"all_content_tokenize":content_tokenize},ensure_ascii=False) + "\n")return type_list
APP_DIR  = os.path.dirname(os.path.realpath('__file__'))def trans_gensim_word2vec2tf_embedding(word2vector_file_path:str):"""把gensim的word2vec结果转化为tf.keras.layers.Embedding需要的结果"""word2vec_model = gensim.models.Word2Vec.load(word2vector_file_path)#所有的词word_list = [word for word, word_info in word2vec_model.wv.vocab.items()]#词到index的映射word2index_dict = {"<PADDING>": 0, "<UNK>":1}#保存特殊词的paddingspecical_word_count = len(word2index_dict)#词到词向量的映射word2vector_dict = {}#初始化embeddings_matrixembeddings_matrix = np.zeros((len(word_list) + specical_word_count, word2vec_model.vector_size))#初始化unk为-1,1分布embeddings_matrix[word2index_dict["<UNK>"]] = (1 / np.sqrt(len(word_list) + specical_word_count) * (2 * np.random.rand(word2vec_model.vector_size) - 1))for i,word in enumerate(word_list):#从0开始word_index = i + specical_word_countword2index_dict[str(word)] = word_indexword2vector_dict[str(word)] = word2vec_model.wv[word] # 词语:词向量embeddings_matrix[word_index] = word2vec_model.wv[word]  # 词向量矩阵#写入文件with open(os.path.join(APP_DIR,"data","word2index.json"),"w",encoding="utf8") as f:json.dump(word2index_dict,f,ensure_ascii=False)return embeddings_matrix,word2vector_dict,word2index_dict
def trans2index(word2index_dict,word):"""转换"""if word in word2index_dict:return word2index_dict[word]else:if "<UNK>" in word2index_dict:return word2index_dict["<UNK>"]else:raise ValueError("没有这个值,请检查")def trans_multi_input_tokenize_data2npa(data_file_path:str,x_max_length:int=None,word2index_dict=None):"""把已经分好词的data文件转化为tf.data , 多输入版本"""x_list = []with open(data_file_path) as f:for line in f:temp_dict = json.loads(line.strip())text_tokenize_list = temp_dict["all_content_tokenize"]text_tokenize_list = sum(text_tokenize_list,[])x_list.append([[trans2index(word2index_dict,word) for word in word_list] for word_list in text_tokenize_list])#  print("x_list[:1]:{}".format(x_list[:1]))if not x_max_length:x_max_length0 = np.max(np.array([len(v) for v in x_list]))x_max_length = int(np.max(np.percentile(np.array([len(v) for v in x_list]),99.7)))#    print("数据集中最长的句子长度为:{},设定的最长的句子长度为:{}".format(x_max_length0,x_max_length))for i in range(len(x_list)):x_list[i] = tf.keras.preprocessing.sequence.pad_sequences(x_list[i],maxlen=x_max_length,dtype=np.int32,truncating="post", padding='post',value=0)x_npa = np.array(x_list,dtype=np.int32)
#    x_npa_position = x_npareturn x_npaAPP_DIR  = os.path.dirname(os.path.realpath('__file__'))
if not os.path.exists(os.path.join(APP_DIR,"data")):os.makedirs(os.path.join(APP_DIR,"data"))def data_trade_deal(x_npa):x_npa = x_npa.reshape(len(x_npa),5120)x_npa = pd.DataFrame(x_npa)pca = PCA(n_components=200)   #降到200维
#    pca.fit(x_npa)                  #训练df_datapca_x=pca.fit_transform(x_npa) return df_datapca_xdef data_mining(x_npa):       x_npa = x_npa.reshape(len(x_npa),5120)x_npa = pd.DataFrame(x_npa)x_npa.columns = [*["c{}".format(v) for v in range(5120)]]age_data = x_npa.Tdf_22 = age_data[0:999]#   rank0_1000 = pd.read_csv('../data/predict_user_attribute20200911/raw_data/user_profile/age/rank0_1000.csv')rank0_1000 = [1, 1, 1, 1, 56, 1, 1, 187, 107, 1, 1, 445, 1, 1, 1, 71, 7, 206, 1, 437, 1, 1, 1, 1, 36, 1, 1, 337, 1, 1, 407, 1, 160, 1, 195, 1, 288, 1, 88, 329, 1, 1, 1, 314, 1, 300, 1, 162, 1, 1, 1, 1, 111, 1, 345, 1, 365, 10, 61, 205, 1, 122, 1, 361, 267, 1, 1, 119, 443, 386, 1, 129, 147, 1, 1, 52, 87, 1, 353, 1, 38, 219, 1, 1, 212, 58, 128, 1, 37, 1, 1, 1, 462, 83, 1, 367, 153, 70, 477, 1, 130, 1, 1, 328, 278, 210, 1, 1, 323, 1, 1, 426, 1, 1, 1, 1, 33, 1, 286, 385, 30, 366, 1, 301, 1, 1, 354, 1, 289, 363, 1, 1, 1, 247, 97, 1, 165, 1, 1, 1, 465, 1, 1, 1, 1, 220, 1, 1, 1, 1, 441, 342, 1, 1, 1, 283, 100, 434, 417, 290, 1, 1, 1, 218, 1, 26, 1, 1, 1, 1, 203, 1, 430, 325, 1, 1, 1, 248, 403, 102, 1, 211, 1, 1, 1, 1, 1, 85, 1, 120, 390, 76, 457, 1, 1, 1, 473, 343, 1, 1, 1, 1, 492, 1, 82, 81, 166, 45, 1, 1, 184, 444, 1, 360, 1, 1, 1, 376, 1, 1, 258, 221, 1, 364, 188, 1, 1, 53, 281, 1, 16, 1, 486, 106, 77, 183, 1, 39, 493, 135, 298, 1, 447, 1, 1, 435, 201, 164, 307, 1, 154, 1, 78, 1, 424, 481, 1, 397, 46, 1, 1, 368, 497, 141, 398, 207, 1, 1, 1, 190, 1, 64, 1, 1, 1, 226, 350, 104, 1, 344, 341, 1, 1, 287, 1, 213, 458, 1, 1, 79, 91, 415, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 47, 1, 1, 1, 241, 464, 41, 432, 1, 1, 1, 199, 320, 1, 150, 138, 1, 1, 1, 1, 1, 475, 238, 414, 1, 351, 86, 55, 1, 1, 209, 1, 1, 32, 114, 234, 396, 75, 243, 410, 2, 63, 1, 1, 500, 271, 1, 319, 452, 1, 1, 1, 436, 1, 214, 1, 1, 1, 1, 498, 105, 4, 1, 1, 1, 1, 1, 1, 1, 418, 266, 223, 409, 3, 257, 482, 49, 1, 413, 132, 1, 1, 1, 1, 1, 1, 1, 1, 6, 246, 362, 1, 1, 34, 466, 318, 1, 8, 155, 485, 1, 420, 331, 90, 282, 461, 1, 1, 1, 1, 1, 140, 411, 1, 157, 1, 1, 115, 1, 1, 1, 228, 1, 476, 422, 1, 123, 172, 18, 285, 453, 1, 393, 1, 232, 1, 1, 327, 379, 1, 1, 1, 423, 1, 1, 1, 1, 239, 304, 474, 471, 1, 1, 249, 66, 1, 338, 1, 1, 1, 419, 1, 1, 1, 274, 1, 1, 1, 254, 1, 1, 59, 1, 222, 324, 1, 230, 494, 251, 463, 1, 253, 163, 311, 1, 1, 1, 1, 227, 1, 1, 1, 1, 1, 1, 1, 1, 1, 330, 1, 1, 260, 448, 433, 101, 189, 425, 263, 378, 1, 198, 1, 1, 233, 1, 224, 1, 1, 1, 1, 291, 1, 1, 1, 273, 1, 346, 1, 309, 40, 1, 1, 93, 5, 1, 244, 177, 1, 1, 264, 51, 1, 1, 65, 1, 1, 1, 373, 336, 392, 1, 1, 1, 1, 1, 472, 1, 1, 1, 1, 1, 1, 133, 374, 229, 9, 280, 121, 1, 1, 416, 1, 1, 1, 1, 1, 99, 1, 1, 1, 268, 110, 109, 1, 1, 479, 125, 370, 1, 1, 235, 1, 103, 1, 67, 1, 1, 483, 161, 402, 1, 406, 1, 1, 1, 488, 484, 262, 1, 1, 358, 1, 1, 294, 1, 1, 284, 1, 357, 391, 1, 1, 1, 1, 377, 1, 1, 1, 369, 62, 1, 1, 231, 27, 1, 204, 1, 137, 1, 261, 72, 1, 167, 126, 20, 442, 1, 245, 334, 1, 1, 1, 467, 313, 317, 456, 359, 24, 1, 191, 1, 1, 43, 1, 1, 170, 429, 1, 310, 1, 1, 113, 116, 1, 459, 1, 1, 1, 1, 299, 192, 1, 171, 1, 255, 181, 95, 495, 13, 1, 1, 1, 1, 1, 1, 1, 276, 15, 1, 1, 339, 1, 292, 1, 1, 380, 1, 1, 216, 1, 1, 68, 1, 28, 1, 349, 1, 1, 1, 134, 404, 1, 1, 431, 196, 237, 269, 1, 384, 387, 185, 303, 279, 14, 173, 1, 89, 152, 73, 1, 1, 1, 69, 1, 1, 252, 169, 48, 450, 1, 145, 1, 1, 1, 348, 382, 1, 1, 480, 1, 174, 371, 200, 139, 21, 451, 193, 1, 1, 1, 1, 470, 1, 1, 315, 1, 265, 1, 270, 427, 1, 44, 1, 1, 1, 1, 57, 35, 352, 217, 1, 440, 312, 1, 1, 74, 1, 306, 1, 1, 1, 208, 428, 454, 478, 31, 1, 1, 117, 316, 1, 1, 489, 259, 215, 468, 22, 94, 491, 1, 1, 50, 143, 1, 355, 499, 340, 1, 1, 326, 1, 1, 1, 335, 405, 1, 29, 388, 1, 1, 92, 19, 347, 186, 1, 439, 1, 293, 1, 1, 1, 112, 333, 272, 1, 322, 1, 389, 1, 469, 1, 1, 80, 60, 25, 1, 1, 144, 124, 136, 1, 1, 1, 1, 176, 17, 1, 1, 375, 202, 179, 1, 399, 1, 242, 356, 1, 54, 142, 455, 158, 1, 108, 194, 1, 1, 1, 297, 1, 182, 118, 1, 1, 1, 1, 1, 1, 1, 1, 302, 1, 42, 1, 156, 98, 175, 1, 11, 449, 395, 96, 1, 372, 1, 250, 460, 1, 178, 1, 1, 84, 421, 146, 400, 1, 1, 446, 151, 1, 490, 332, 1, 1, 1, 1, 1, 1, 159, 131, 1, 1, 127, 1, 1, 277, 236, 496, 381, 487, 394, 1, 149, 275, 1, 1, 197, 1, 240, 1, 225, 305, 401, 295, 412, 148, 1, 1, 321, 12, 1, 438, 308, 256, 1, 23, 383, 1, 180, 1, 168, 296, 1, 1, 1, 408, 1, 1]rank0_1000 = pd.DataFrame(rank0_1000)rank0_1000.columns = ['rank']df0_1000 = pd.merge(rank0_1000,df_22,on = rank0_1000.index)df0_1000 = df0_1000.drop('key_0',axis = 1)df0_1000 = df0_1000.groupby(df0_1000.index).filter(lambda x:float(x['rank'])==1)#df_22 = df_22.Tdf_22 = age_data[999:1999]
#    rank1000_2000 = pd.read_csv('../data/predict_user_attribute20200911/raw_data/user_profile/age/rank1000_2000.csv')rank1000_2000 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 500, 160, 421, 279, 1, 66, 1, 266, 1, 2, 465, 1, 196, 311, 1, 498, 1, 1, 1, 1, 395, 1, 316, 1, 1, 374, 283, 381, 1, 1, 277, 146, 396, 148, 262, 1, 474, 1, 1, 33, 1, 1, 1, 1, 1, 174, 105, 20, 1, 136, 423, 48, 89, 204, 367, 1, 1, 1, 1, 255, 1, 190, 1, 213, 1, 56, 323, 168, 1, 375, 1, 394, 453, 473, 245, 1, 156, 151, 417, 1, 1, 192, 1, 1, 179, 325, 1, 1, 1, 1, 485, 1, 494, 1, 1, 1, 1, 1, 1, 1, 52, 234, 201, 1, 469, 1, 237, 1, 1, 1, 334, 1, 38, 383, 1, 1, 61, 1, 1, 418, 397, 1, 47, 86, 22, 1, 1, 72, 242, 260, 1, 1, 1, 483, 265, 278, 1, 25, 387, 218, 382, 1, 340, 1, 356, 247, 62, 372, 1, 1, 1, 77, 460, 85, 1, 251, 217, 1, 322, 357, 144, 1, 1, 1, 205, 1, 95, 272, 440, 167, 239, 1, 1, 1, 424, 1, 220, 360, 1, 1, 1, 117, 248, 69, 264, 208, 1, 115, 447, 71, 1, 121, 133, 1, 1, 147, 225, 1, 177, 1, 1, 428, 252, 1, 188, 1, 1, 1, 1, 1, 1, 91, 1, 74, 70, 1, 228, 1, 431, 182, 1, 1, 1, 402, 1, 1, 1, 40, 480, 187, 430, 1, 274, 446, 351, 1, 1, 1, 122, 282, 1, 68, 73, 493, 490, 189, 212, 1, 1, 198, 139, 1, 1, 482, 1, 1, 1, 1, 1, 1, 1, 1, 1, 472, 1, 450, 1, 1, 1, 425, 1, 326, 162, 1, 1, 1, 1, 300, 1, 180, 1, 476, 499, 49, 1, 1, 1, 301, 18, 5, 350, 161, 284, 343, 1, 1, 287, 1, 1, 455, 1, 1, 459, 128, 1, 1, 1, 1, 1, 1, 1, 1, 1, 477, 178, 389, 1, 65, 1, 154, 103, 75, 443, 1, 13, 1, 1, 1, 1, 111, 354, 344, 1, 127, 254, 84, 1, 1, 1, 238, 371, 1, 329, 42, 489, 4, 276, 54, 216, 3, 104, 1, 145, 1, 87, 1, 321, 341, 211, 488, 1, 419, 1, 495, 1, 486, 1, 135, 342, 1, 1, 138, 60, 1, 432, 392, 457, 1, 1, 1, 1, 219, 358, 1, 155, 295, 110, 327, 207, 1, 1, 303, 445, 1, 388, 170, 143, 113, 12, 319, 318, 386, 462, 1, 339, 479, 1, 63, 1, 203, 1, 466, 384, 1, 1, 1, 1, 14, 1, 1, 1, 1, 1, 1, 1, 399, 1, 448, 169, 1, 467, 1, 1, 1, 114, 461, 1, 501, 1, 1, 403, 231, 437, 1, 1, 1, 324, 310, 76, 1, 249, 352, 492, 487, 1, 314, 1, 1, 307, 280, 197, 1, 393, 1, 124, 400, 315, 1, 1, 17, 1, 1, 1, 175, 439, 441, 227, 1, 1, 1, 458, 398, 1, 1, 1, 1, 380, 1, 1, 1, 1, 137, 412, 185, 1, 373, 37, 230, 27, 475, 296, 335, 1, 1, 1, 232, 215, 1, 338, 408, 362, 416, 1, 100, 199, 1, 79, 1, 346, 1, 1, 1, 257, 1, 1, 1, 120, 256, 471, 1, 1, 98, 109, 82, 1, 1, 1, 427, 1, 1, 43, 67, 1, 1, 229, 363, 173, 1, 83, 11, 436, 1, 183, 1, 1, 80, 404, 1, 1, 78, 1, 58, 1, 1, 8, 1, 1, 221, 359, 1, 1, 1, 1, 1, 1, 464, 1, 435, 452, 97, 246, 1, 159, 1, 1, 24, 153, 1, 1, 1, 142, 1, 259, 1, 1, 116, 123, 99, 1, 355, 1, 202, 224, 1, 1, 1, 305, 1, 1, 1, 1, 1, 1, 1, 45, 1, 1, 1, 1, 401, 1, 1, 1, 302, 1, 1, 496, 258, 484, 200, 1, 1, 1, 1, 195, 1, 1, 330, 491, 1, 1, 370, 1, 223, 1, 426, 385, 1, 10, 1, 163, 1, 1, 1, 376, 1, 1, 299, 119, 456, 253, 411, 1, 1, 1, 1, 306, 468, 438, 1, 331, 1, 126, 1, 1, 1, 285, 1, 1, 193, 1, 26, 214, 366, 96, 1, 1, 1, 1, 304, 1, 1, 46, 112, 298, 1, 1, 1, 1, 241, 1, 158, 6, 106, 206, 141, 379, 454, 1, 312, 1, 1, 336, 481, 1, 1, 414, 51, 1, 1, 1, 297, 1, 292, 1, 1, 1, 288, 1, 1, 332, 1, 164, 451, 1, 1, 1, 1, 463, 29, 1, 57, 308, 102, 1, 1, 172, 377, 1, 152, 422, 93, 1, 1, 1, 134, 1, 88, 1, 420, 1, 34, 209, 1, 353, 1, 1, 1, 35, 243, 1, 236, 1, 32, 1, 1, 1, 118, 1, 28, 1, 7, 1, 233, 1, 289, 291, 23, 1, 1, 317, 140, 1, 1, 390, 30, 1, 1, 1, 497, 337, 1, 365, 130, 433, 132, 1, 294, 240, 90, 478, 1, 44, 165, 434, 442, 1, 108, 39, 210, 1, 157, 1, 1, 444, 1, 171, 1, 281, 1, 391, 50, 333, 41, 1, 267, 1, 268, 1, 378, 21, 244, 1, 1, 409, 1, 149, 290, 1, 1, 1, 345, 16, 1, 1, 1, 1, 1, 1, 429, 1, 1, 1, 309, 1, 273, 1, 64, 53, 1, 1, 191, 349, 1, 270, 1, 1, 406, 1, 1, 1, 1, 1, 320, 1, 131, 269, 1, 1, 1, 1, 1, 1, 1, 9, 166, 364, 415, 1, 36, 313, 1, 101, 1, 413, 222, 1, 407, 1, 129, 1, 94, 286, 1, 184, 1, 328, 186, 293, 1, 1, 405, 470, 1, 176, 250, 1, 1, 1, 1, 1, 15, 1, 1, 261, 275, 1, 226, 81, 347, 1, 1, 1, 368, 31, 263, 348, 1, 1, 181, 1, 1, 55, 125, 410, 1, 449, 150, 361, 107, 1, 92, 1, 235, 19, 1, 1, 369, 1, 1, 194, 1, 271, 59, 1]rank1000_2000 = pd.DataFrame(rank1000_2000)rank1000_2000.columns = ['rank']df1000_2000 = pd.merge(rank1000_2000,df_22,on = rank1000_2000.index)df1000_2000 = df1000_2000.drop('key_0',axis = 1)df1000_2000 = df1000_2000.groupby(df1000_2000.index).filter(lambda x:float(x['rank'])==1)df_22 = age_data[1999:2999]#df_22 = df_22.T
#    rank2000_3000 = pd.read_csv('../data/predict_user_attribute20200911/raw_data/user_profile/age/rank2000_3000.csv')
#    rank2000_3000 = rank2000_3000.drop('Unnamed: 0',axis = 1)rank2000_3000 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 57, 1, 1, 256, 387, 210, 1, 1, 1, 1, 319, 1, 29, 1, 1, 1, 200, 1, 114, 231, 9, 1, 1, 1, 64, 247, 1, 188, 353, 1, 1, 1, 414, 410, 192, 1, 300, 1, 1, 337, 467, 1, 4, 1, 1, 1, 73, 494, 207, 1, 296, 1, 1, 220, 241, 1, 315, 1, 91, 326, 1, 1, 373, 1, 1, 308, 1, 191, 84, 259, 88, 119, 44, 109, 335, 257, 1, 398, 194, 1, 1, 1, 1, 37, 396, 377, 499, 1, 1, 5, 86, 1, 461, 1, 1, 254, 389, 500, 1, 48, 451, 1, 1, 1, 321, 1, 433, 1, 1, 1, 434, 1, 126, 1, 1, 1, 479, 1, 40, 1, 345, 80, 1, 1, 1, 72, 239, 1, 282, 1, 251, 453, 20, 1, 1, 236, 183, 1, 1, 1, 303, 1, 1, 113, 1, 1, 404, 298, 347, 385, 1, 367, 475, 1, 172, 1, 1, 1, 1, 1, 343, 1, 1, 1, 1, 365, 1, 1, 115, 1, 1, 1, 1, 176, 203, 1, 42, 234, 1, 425, 1, 1, 174, 1, 1, 362, 190, 269, 342, 283, 92, 1, 106, 1, 229, 1, 1, 59, 226, 1, 358, 233, 1, 202, 60, 1, 1, 1, 105, 317, 381, 1, 1, 442, 285, 1, 1, 375, 1, 189, 421, 465, 167, 15, 284, 1, 484, 1, 464, 1, 274, 1, 493, 217, 1, 1, 363, 1, 249, 258, 123, 263, 429, 1, 144, 35, 184, 388, 89, 376, 196, 13, 1, 21, 30, 297, 448, 316, 482, 104, 1, 489, 1, 333, 1, 255, 1, 120, 56, 1, 397, 1, 1, 1, 1, 125, 1, 17, 169, 1, 447, 437, 199, 1, 1, 1, 332, 1, 1, 1, 495, 1, 498, 1, 423, 436, 1, 334, 1, 260, 1, 491, 1, 478, 1, 1, 1, 1, 1, 46, 90, 1, 318, 1, 28, 1, 1, 312, 227, 1, 1, 244, 139, 178, 219, 1, 426, 1, 1, 22, 419, 1, 23, 1, 364, 19, 366, 1, 1, 1, 1, 1, 1, 195, 417, 1, 1, 302, 1, 1, 277, 218, 272, 430, 295, 1, 350, 1, 286, 129, 1, 53, 1, 2, 330, 103, 307, 501, 293, 1, 1, 386, 224, 1, 1, 38, 1, 75, 6, 1, 1, 1, 1, 314, 356, 1, 418, 329, 427, 1, 1, 299, 1, 1, 136, 215, 1, 412, 67, 306, 1, 1, 1, 462, 3, 27, 1, 240, 400, 1, 1, 1, 135, 1, 1, 439, 301, 1, 1, 1, 488, 271, 480, 151, 1, 1, 276, 360, 497, 156, 1, 374, 78, 1, 1, 1, 1, 158, 1, 1, 292, 313, 1, 1, 1, 1, 344, 452, 209, 304, 1, 265, 1, 1, 1, 173, 1, 463, 1, 187, 96, 230, 77, 1, 470, 1, 193, 228, 1, 1, 1, 1, 490, 82, 407, 445, 232, 208, 117, 1, 177, 107, 1, 65, 1, 339, 431, 102, 413, 1, 331, 1, 432, 1, 1, 71, 281, 441, 1, 1, 1, 127, 185, 275, 1, 435, 1, 1, 142, 459, 1, 1, 328, 159, 1, 168, 181, 162, 1, 1, 1, 1, 211, 1, 66, 261, 492, 1, 405, 450, 1, 1, 1, 1, 62, 1, 1, 1, 346, 1, 36, 1, 1, 186, 165, 355, 8, 1, 1, 1, 1, 1, 1, 1, 1, 468, 122, 1, 243, 63, 472, 1, 403, 399, 1, 1, 1, 110, 457, 121, 1, 1, 1, 54, 1, 146, 138, 1, 1, 1, 1, 262, 1, 1, 49, 369, 1, 131, 1, 1, 223, 290, 291, 264, 147, 443, 1, 273, 372, 1, 132, 1, 460, 1, 1, 1, 130, 1, 1, 238, 1, 1, 1, 1, 351, 471, 32, 428, 1, 11, 166, 154, 1, 253, 401, 1, 1, 1, 1, 198, 1, 408, 1, 1, 1, 116, 212, 1, 382, 322, 182, 1, 1, 97, 1, 1, 118, 1, 1, 323, 242, 248, 164, 287, 476, 1, 1, 357, 466, 324, 1, 438, 1, 18, 1, 111, 157, 402, 1, 1, 1, 87, 1, 1, 1, 454, 1, 338, 1, 341, 455, 141, 225, 1, 1, 1, 424, 1, 1, 444, 1, 266, 1, 39, 311, 1, 33, 1, 47, 137, 481, 288, 394, 1, 1, 214, 170, 379, 221, 348, 1, 1, 1, 128, 148, 1, 1, 41, 449, 143, 440, 1, 1, 93, 161, 1, 1, 1, 1, 1, 175, 34, 415, 197, 1, 1, 1, 74, 1, 1, 45, 1, 289, 361, 1, 1, 1, 1, 1, 95, 327, 1, 152, 393, 485, 133, 1, 279, 1, 354, 1, 252, 61, 1, 1, 245, 1, 384, 1, 1, 79, 1, 153, 58, 205, 395, 1, 237, 1, 446, 1, 1, 25, 94, 81, 305, 51, 359, 1, 1, 349, 52, 1, 1, 7, 1, 487, 100, 1, 1, 1, 409, 1, 1, 336, 390, 473, 325, 1, 99, 31, 1, 76, 268, 1, 1, 1, 1, 1, 50, 474, 1, 1, 1, 1, 309, 469, 101, 1, 24, 294, 1, 246, 1, 145, 180, 411, 1, 1, 1, 1, 1, 371, 85, 1, 1, 383, 1, 171, 140, 278, 201, 213, 69, 250, 1, 204, 98, 477, 416, 108, 1, 1, 83, 456, 1, 55, 1, 1, 1, 420, 1, 150, 1, 380, 1, 68, 1, 422, 1, 320, 1, 496, 1, 1, 1, 1, 124, 370, 1, 155, 267, 1, 1, 378, 1, 486, 1, 149, 1, 368, 1, 1, 340, 392, 14, 1, 1, 1, 1, 1, 1, 10, 483, 1, 1, 70, 1, 280, 26, 179, 1, 112, 1, 1, 352, 1, 160, 391, 1, 216, 1, 1, 12, 310, 206, 406, 1, 270, 235, 1, 16, 458, 43, 1, 134, 163, 222]rank2000_3000 = pd.DataFrame(rank2000_3000)rank2000_3000.columns = ['rank']df2000_3000 = pd.merge(rank2000_3000,df_22,on = rank2000_3000.index)df2000_3000 = df2000_3000.drop('key_0',axis = 1)df2000_3000 = df2000_3000.groupby(df2000_3000.index).filter(lambda x:float(x['rank'])==1)df_22 = age_data[2998:5121]#df_22 = df_22.T
#    rank3000_5122 = pd.read_csv('../data/predict_user_attribute20200911/raw_data/user_profile/age/rank3000_5122.csv')
#    rank3000_5122 = rank3000_5122.drop('Unnamed: 0',axis = 1)rank3000_5122 = [1, 1, 231, 1, 1, 1028, 1, 1, 1, 44, 454, 1, 1, 1108, 1, 266, 642, 1, 203, 992, 49, 1, 1, 869, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 321, 1, 1, 624, 1, 1, 1, 737, 1, 470, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 167, 1, 1, 963, 1, 1, 382, 839, 1, 1, 926, 1, 903, 792, 1, 815, 988, 1, 1, 717, 1, 1, 912, 1, 1, 724, 704, 835, 1, 176, 1115, 1, 654, 1, 214, 1, 1, 1, 571, 1, 361, 1, 14, 797, 531, 1, 1, 36, 1, 790, 51, 472, 342, 175, 1, 701, 151, 697, 103, 1, 1, 1, 1, 164, 1, 1, 1110, 914, 1, 643, 1, 115, 1, 1, 204, 1, 1, 1, 782, 1, 346, 52, 1, 1, 1, 1, 228, 1, 1, 849, 1, 850, 288, 953, 16, 185, 122, 1, 492, 1, 1119, 1, 1, 77, 532, 748, 610, 1, 1, 1052, 232, 308, 1, 125, 405, 1, 1, 1, 1, 188, 553, 11, 387, 795, 972, 446, 1, 1, 1, 1, 1, 12, 709, 924, 1066, 1, 1, 1, 573, 1113, 1062, 286, 1, 542, 1007, 1, 1, 378, 1, 1, 590, 721, 289, 1, 627, 898, 1, 1, 10, 960, 1, 1, 300, 1, 121, 411, 1, 919, 224, 450, 1, 237, 328, 1, 296, 1, 997, 1, 1, 338, 26, 1, 1024, 415, 389, 1, 922, 1, 745, 202, 293, 1, 133, 860, 1057, 1, 1103, 1, 1, 1, 1, 979, 1, 838, 244, 1, 1, 1, 1, 1, 1, 116, 1, 868, 1, 851, 536, 479, 1, 1, 1, 1, 66, 1048, 1, 1, 258, 1, 504, 1, 1, 1, 1, 738, 165, 762, 466, 1, 1, 799, 381, 56, 1, 1, 1, 1, 1, 1, 1, 192, 1, 649, 163, 42, 974, 1094, 506, 917, 1, 911, 108, 1, 1, 4, 216, 39, 1031, 1, 1, 1, 1029, 1, 1, 1, 404, 1, 279, 1, 1, 109, 533, 1, 715, 1, 644, 1, 1, 284, 905, 1, 124, 1, 1, 460, 1, 1, 609, 521, 1, 1, 1027, 1, 1, 197, 544, 1, 287, 420, 1, 1, 1, 1, 1, 161, 120, 1, 280, 686, 1032, 497, 1, 412, 1, 1, 487, 981, 1, 72, 1, 1, 430, 1, 1, 1120, 1, 311, 915, 1, 931, 501, 594, 1021, 1, 427, 1, 433, 927, 1, 1, 889, 1, 518, 1, 1, 1, 1, 1, 1, 620, 196, 866, 1, 596, 431, 586, 1, 755, 671, 978, 706, 918, 602, 1, 941, 1, 1, 60, 330, 1, 1, 622, 380, 1, 1, 1, 1, 793, 320, 1, 606, 119, 916, 938, 1, 1, 1, 1, 1, 1, 1, 520, 823, 1, 784, 363, 943, 1, 1, 1, 1, 236, 572, 1, 54, 990, 986, 763, 374, 517, 1, 1, 1, 605, 1, 1114, 1, 215, 874, 1051, 1, 1003, 1, 434, 788, 75, 1, 1, 1, 1, 8, 1106, 441, 1, 1059, 243, 1, 1, 1, 1, 801, 1, 519, 372, 283, 1, 1, 80, 929, 297, 1, 1, 1, 856, 507, 394, 746, 1, 1, 1, 843, 229, 341, 1, 1, 1, 481, 1, 629, 304, 1, 834, 750, 1, 647, 187, 1, 61, 1, 640, 1, 1, 317, 816, 254, 1, 700, 904, 1, 1, 84, 677, 670, 757, 1, 613, 1, 875, 1, 1, 1, 601, 1, 290, 1, 1, 319, 1, 1, 543, 635, 554, 1, 1, 477, 1, 1, 1, 452, 150, 1, 399, 1, 351, 1054, 1, 1, 1, 184, 1, 1, 1, 1012, 471, 1, 1, 1, 1, 528, 523, 1, 538, 952, 522, 1, 1, 86, 480, 1, 1, 1, 485, 1008, 358, 985, 862, 588, 829, 1, 1, 1, 152, 1076, 1, 1, 1, 1, 143, 1, 1, 388, 78, 808, 1, 1, 847, 1, 93, 1, 1, 1, 1, 162, 1, 1023, 1, 409, 576, 796, 247, 1, 842, 189, 1050, 657, 1, 1, 708, 840, 502, 1, 1, 1, 1, 547, 551, 1064, 20, 9, 142, 1, 462, 599, 136, 1, 1, 303, 1100, 1, 1, 1, 416, 23, 1, 973, 684, 1, 1, 170, 1, 105, 734, 1, 1, 1043, 1, 475, 558, 858, 1, 419, 1, 1, 1, 1, 1, 1, 134, 1080, 1, 1, 959, 83, 1, 437, 1, 1, 1, 239, 1, 1, 772, 1, 375, 698, 694, 1068, 206, 310, 729, 1, 731, 1044, 760, 1, 600, 651, 1, 1, 873, 1, 1123, 459, 1, 141, 85, 1, 1, 1, 1, 1, 1, 273, 638, 1, 584, 1, 113, 340, 295, 1, 369, 21, 1, 619, 1, 1, 144, 733, 1085, 1073, 1, 1, 240, 1, 1, 1, 1098, 373, 565, 909, 713, 490, 932, 578, 1101, 1, 1, 1, 1, 515, 395, 1, 540, 6, 541, 509, 1, 422, 1, 1, 1, 47, 1, 1, 1, 1, 67, 371, 201, 168, 879, 1, 902, 1, 885, 1, 1, 1, 1, 107, 383, 326, 513, 1, 1096, 496, 137, 828, 1017, 1, 1097, 1, 1065, 1, 1, 1, 863, 1, 1, 1, 1, 1, 1, 408, 1004, 1, 957, 1091, 1, 1, 1, 1, 1, 1, 1, 1, 33, 436, 1, 526, 1, 68, 739, 1, 347, 220, 3, 505, 493, 817, 1, 495, 1, 1, 1, 1, 1, 1, 1, 1089, 1, 1, 1, 1, 1, 1, 669, 822, 274, 888, 123, 1121, 935, 1, 1, 1, 104, 1, 549, 650, 1, 1, 1, 1, 255, 1, 314, 1086, 348, 294, 1, 560, 305, 1, 910, 356, 1035, 186, 1088, 424, 1, 1, 364, 269, 138, 1, 872, 539, 780, 886, 688, 1, 1, 1, 1, 397, 1038, 852, 1, 996, 58, 112, 209, 1, 618, 298, 859, 1, 339, 1, 1, 664, 1, 557, 426, 906, 90, 461, 92, 406, 559, 179, 1, 275, 680, 776, 944, 1, 1, 316, 611, 1, 897, 453, 809, 982, 1, 747, 1, 277, 562, 1, 837, 421, 111, 810, 1, 1, 1, 1, 1, 1, 1019, 900, 1, 451, 920, 217, 1, 135, 1, 1, 699, 34, 534, 1079, 1, 1, 660, 327, 248, 1, 1, 1, 692, 1, 1, 761, 1, 901, 556, 1, 1, 264, 597, 592, 94, 1, 1045, 1, 641, 272, 1, 740, 789, 1, 1025, 324, 1, 157, 1, 1, 958, 811, 43, 871, 1, 1, 1, 349, 1047, 661, 458, 1, 32, 1, 779, 695, 1, 1, 503, 1, 1, 1042, 299, 30, 1, 193, 1, 1, 392, 1, 370, 1, 983, 1, 1, 1058, 633, 87, 685, 91, 114, 579, 1, 836, 616, 1, 337, 951, 1, 1, 1, 1, 1033, 444, 1102, 555, 1, 207, 1117, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1034, 1, 1, 1, 980, 486, 1, 1, 1, 1, 205, 687, 385, 365, 1, 1, 1, 1, 57, 1, 149, 281, 529, 1011, 473, 1, 360, 1, 764, 1116, 691, 1, 1, 1, 824, 1, 1, 1, 1, 1, 359, 1, 1, 1, 1, 1, 435, 1, 1, 253, 765, 1, 1, 1, 577, 1107, 1, 484, 1, 1, 173, 1, 1001, 1, 1, 962, 752, 1, 355, 1, 908, 172, 1, 262, 1, 1, 1, 174, 1, 1, 1, 1, 993, 366, 612, 1, 925, 1, 1069, 1, 81, 1, 1, 401, 25, 1, 1, 1, 955, 278, 1, 1, 1, 1, 864, 429, 1, 1, 270, 589, 1, 1, 1, 728, 1, 1, 65, 1, 362, 146, 623, 732, 1, 1, 1, 464, 494, 285, 148, 131, 1, 1, 241, 1, 1, 1, 794, 1, 628, 702, 833, 223, 1, 2, 1074, 257, 476, 230, 445, 1, 1, 1, 398, 127, 845, 1, 848, 1005, 1, 768, 995, 1, 1, 820, 1, 1, 1, 1, 1, 1, 1, 160, 1, 712, 1, 467, 1083, 62, 803, 527, 954, 1, 1, 325, 867, 991, 315, 41, 667, 1, 89, 1, 1, 777, 367, 313, 76, 805, 1, 806, 1, 1, 1, 469, 1, 1, 1, 1, 1, 246, 1, 1, 1, 1, 261, 282, 238, 1, 1, 1, 1030, 1, 876, 1, 1, 1, 40, 1, 1, 831, 1, 773, 1, 1, 18, 1, 1, 1, 386, 171, 854, 1105, 1, 921, 1, 821, 1, 652, 1039, 1, 1, 1, 468, 190, 1, 1, 37, 525, 508, 377, 545, 735, 1, 530, 1, 64, 1, 813, 1, 1, 191, 736, 1046, 1067, 1, 1, 48, 1, 268, 1, 1, 1, 1, 818, 1, 181, 603, 195, 46, 128, 1, 575, 878, 1, 615, 1, 994, 402, 887, 1092, 1, 350, 1, 1, 1084, 907, 306, 159, 1, 1111, 97, 221, 785, 1, 498, 130, 1, 1, 546, 292, 672, 1118, 1, 1, 489, 1015, 563, 770, 1061, 1, 936, 309, 376, 819, 1, 655, 783, 1, 82, 934, 1, 390, 771, 183, 96, 1037, 1, 595, 1, 1, 276, 1, 1, 213, 976, 332, 69, 1, 1, 323, 1, 632, 714, 1, 767, 126, 1, 307, 1063, 1, 804, 791, 488, 384, 1, 1, 1, 199, 1, 512, 1014, 564, 1, 896, 743, 180, 1, 1, 1, 38, 1, 147, 79, 548, 1, 1, 1095, 759, 1, 580, 1, 977, 968, 1, 1, 17, 1, 211, 219, 646, 844, 1, 1, 585, 787, 937, 225, 582, 345, 1, 256, 678, 1, 393, 1, 1, 1, 413, 1, 1, 71, 524, 857, 1006, 483, 1075, 1, 711, 400, 1, 665, 1, 1, 491, 1, 1, 1, 95, 1, 1, 1, 1, 608, 249, 1, 1000, 658, 1, 208, 1, 574, 28, 352, 1, 1, 832, 998, 1, 1, 846, 693, 645, 1, 730, 870, 634, 423, 1, 1, 343, 1, 1, 1, 604, 233, 659, 29, 550, 1112, 948, 27, 212, 1020, 1056, 1, 1, 617, 1122, 1, 1, 1, 666, 145, 865, 155, 1, 1, 1, 1, 1, 668, 1, 1, 465, 31, 593, 1, 55, 939, 1, 129, 353, 1, 1, 1, 1, 482, 1, 1, 568, 1013, 751, 1, 1, 656, 1, 1090, 949, 438, 1, 1, 786, 883, 250, 1, 1, 1, 1, 132, 1, 1, 581, 235, 807, 19, 689, 707, 1, 753, 1, 766, 1018, 1, 913, 53, 418, 218, 1, 1040, 1, 1, 1026, 13, 1, 1, 1, 676, 971, 312, 570, 1, 1, 499, 1, 1, 569, 318, 1, 335, 177, 663, 154, 583, 758, 1, 1, 561, 439, 329, 1, 417, 1, 1, 682, 403, 1, 1, 1, 379, 631, 118, 1, 673, 449, 726, 891, 1, 1, 1, 1, 1, 587, 1099, 302, 1, 1, 45, 621, 1060, 1041, 1, 1, 598, 942, 1002, 1, 222, 1, 1, 1, 723, 1, 455, 432, 741, 591, 1, 947, 826, 1049, 478, 1, 710, 1, 156, 1, 1, 514, 1, 1, 1077, 1, 1, 1, 1, 425, 961, 1, 719, 607, 1, 252, 636, 1, 24, 1, 322, 956, 1, 970, 1, 1, 1, 1, 1078, 1070, 722, 639, 1, 892, 1, 88, 1, 440, 1, 825, 899, 1, 881, 1, 1, 200, 1055, 1104, 1, 679, 178, 1022, 625, 100, 744, 1, 674, 1, 1, 1, 1, 1, 456, 1, 1, 1, 1, 1, 59, 1, 756, 117, 102, 1, 1, 410, 1, 1, 73, 153, 1, 474, 1, 1, 966, 798, 1071, 1, 1, 22, 1, 1, 1, 1, 368, 291, 99, 727, 690, 984, 1, 1, 894, 259, 271, 344, 1, 1, 1, 802, 1, 1, 1, 1, 1, 841, 110, 965, 1, 1, 442, 1, 853, 500, 334, 1, 1, 884, 1, 15, 1, 1, 1, 940, 1, 1010, 1, 333, 260, 969, 245, 1, 946, 1, 1, 890, 945, 681, 140, 1, 769, 703, 1, 1, 626, 975, 1, 35, 716, 1, 1, 1, 1009, 158, 210, 1, 1, 1, 1, 830, 1036, 198, 552, 1, 1, 407, 1072, 1, 74, 1, 1053, 742, 1, 1, 964, 987, 1, 725, 999, 800, 877, 1, 414, 754, 63, 7, 778, 1, 1, 5, 718, 928, 265, 696, 1, 1, 98, 301, 648, 263, 1, 614, 251, 1, 169, 1, 1, 653, 967, 166, 50, 396, 1, 1, 1, 882, 443, 226, 1, 1, 930, 774, 1, 1, 516, 1, 775, 182, 457, 106, 814, 227, 1, 1082, 447, 1081, 1, 1, 1, 1, 1, 705, 1, 1, 1, 1, 675, 1, 1, 1016, 1, 1, 933, 1, 535, 1, 1, 1, 1, 463, 1, 242, 1, 1, 1, 1, 637, 827, 267, 720, 194, 1, 1, 630, 1, 1109, 1, 861, 1, 1, 1, 1, 428, 1, 1, 391, 950, 662, 70, 357, 989, 812, 923, 1, 781, 566, 511, 893, 537, 683, 234, 1, 1, 1093, 1, 1, 331, 895, 139, 567, 1, 1, 354, 101, 855, 1, 510, 448, 1, 1, 1087, 749, 880, 1, 336, 1]rank3000_5122 = pd.DataFrame(rank3000_5122)rank3000_5122.columns = ['rank']df3000_5122 = pd.merge(rank3000_5122,df_22,on = rank3000_5122.index)df3000_5122 = df3000_5122.drop('key_0',axis = 1)df3000_5122 = df3000_5122.groupby(df3000_5122.index).filter(lambda x:float(x['rank'])==1)x_drop_fea1 = pd.concat([df0_1000, df1000_2000], axis=0, ignore_index=True)x_drop_fea1 = pd.concat([x_drop_fea1, df2000_3000], axis=0, ignore_index=True)x_drop_fea1 = pd.concat([x_drop_fea1, df3000_5122], axis=0, ignore_index=True)x_drop_fea1 = x_drop_fea1.drop('rank',axis = 1)
#    rank_100 = pd.read_csv('../data/predict_user_attribute20200911/raw_data/user_profile/age/rank_100.csv')
#    rank_100 = rank_100.drop('Unnamed: 0',axis = 1)rank_100 = [1927, 1887, 541, 2309, 1528, 857, 984, 2280, 1827, 316, 1362, 1252, 1278, 373, 2092, 1455, 579, 426, 1930, 2014, 747, 1407, 163, 2111, 331, 2144, 1389, 1844, 920, 70, 245, 118, 1035, 1200, 1556, 1557, 1266, 2000, 123, 1891, 2025, 1182, 1856, 1, 1791, 2363, 454, 136, 2375, 1672, 1156, 1766, 1209, 1127, 285, 1, 1928, 1818, 2062, 1741, 2238, 1139, 804, 955, 1032, 908, 834, 1667, 140, 370, 25, 2330, 2143, 1223, 1584, 768, 2381, 1099, 427, 1201, 386, 1365, 929, 2343, 323, 1430, 2361, 2386, 2080, 184, 1855, 1, 953, 2097, 1871, 2348, 1013, 1, 1323, 1083, 2394, 604, 1, 2208, 2263, 2259, 1418, 1060, 317, 83, 692, 111, 1440, 2197, 1569, 477, 2150, 568, 1, 2187, 553, 556, 1343, 1295, 1328, 2066, 2299, 1286, 2355, 1935, 1, 1332, 2272, 2018, 1047, 176, 2324, 2226, 1529, 2195, 1, 1136, 680, 1101, 1243, 1549, 813, 733, 1817, 1419, 1110, 1594, 1538, 1404, 550, 1698, 1144, 824, 264, 209, 948, 1918, 1006, 207, 1747, 1037, 1587, 94, 2015, 2345, 14, 1808, 1627, 2181, 439, 1700, 2114, 1, 2196, 65, 1239, 296, 1867, 1400, 422, 777, 1655, 1349, 157, 646, 1985, 1, 366, 1026, 487, 1386, 979, 1, 1, 203, 508, 2344, 1694, 558, 2305, 668, 2088, 1695, 891, 2342, 1162, 2184, 2105, 828, 2369, 535, 1059, 1654, 2313, 120, 1, 1864, 1361, 818, 44, 1589, 1105, 2384, 11, 670, 1, 2235, 966, 158, 1942, 2064, 64, 1155, 2133, 1424, 318, 289, 2300, 751, 1912, 727, 1, 1205, 503, 2247, 1364, 1863, 2179, 1752, 1476, 1546, 2172, 2380, 1148, 1, 1346, 776, 1423, 525, 202, 1997, 934, 841, 2058, 2392, 2317, 1475, 603, 2039, 521, 1506, 1619, 420, 1245, 574, 2346, 2396, 2194, 2209, 2153, 1061, 816, 1603, 2214, 2069, 1426, 1, 547, 536, 1408, 1054, 675, 564, 1428, 415, 1902, 319, 1721, 819, 2274, 501, 1, 1958, 794, 1601, 1663, 2290, 2347, 720, 2073, 1228, 155, 1219, 1429, 2257, 1740, 1975, 1416, 1202, 414, 2055, 1330, 1605, 460, 1244, 1276, 1115, 1527, 330, 563, 1678, 48, 81, 128, 625, 1947, 471, 2168, 1197, 1970, 1712, 1900, 2239, 1892, 252, 1, 1149, 382, 2040, 343, 2206, 1552, 653, 217, 576, 2090, 1464, 1894, 392, 2034, 2139, 2216, 1822, 1952, 2341, 1039, 803, 631, 1860, 2171, 1354, 1231, 478, 2140, 12, 451, 290, 171, 958, 1397, 1991, 592, 1463, 482, 1643, 1592, 1598, 921, 1, 1300, 1213, 566, 1793, 75, 1794, 364, 2254, 2212, 915, 1909, 711, 165, 811, 1532, 633, 40, 2108, 1883, 2019, 1104, 312, 145, 835, 1722, 941, 1749, 2328, 106, 322, 1444, 2390, 838, 1084, 122, 2349, 2397, 280, 1232, 1499, 1030, 1524, 378, 149, 2234, 665, 1484, 2224, 2, 1269, 676, 1143, 467, 1640, 875, 63, 353, 452, 237, 1409, 321, 808, 181, 2255, 2053, 1071, 982, 3, 1, 116, 2269, 571, 678, 1, 2198, 2173, 1775, 1210, 1002, 2331, 1957, 1674, 1884, 2220, 2109, 1908, 1699, 1255, 2063, 151, 172, 519, 246, 1359, 1936, 909, 1762, 1438, 581, 1858, 1943, 310, 995, 1868, 394, 763, 109, 767, 2205, 2135, 1585, 613, 1769, 1, 1, 1292, 1882, 1910, 2178, 1140, 2320, 710, 2128, 1853, 723, 1948, 2237, 1652, 2271, 1495, 1544, 1179, 1904, 607, 2401, 555, 1, 1784, 1, 231, 1642, 1838, 84, 1204, 54, 1954, 2252, 1247, 927, 905, 1837, 517, 401, 1124, 1944, 2203, 1870, 1439, 2264, 885, 297, 32, 858, 1998, 502, 226, 760, 1, 1142, 2232, 1876, 1562, 773, 843, 1886, 196, 2246, 2261, 998, 1812, 1077, 652, 774, 1302, 1896, 1049, 206, 2303, 671, 438, 1, 1012, 756, 57, 417, 1732, 2371, 2287, 2218, 896, 746, 2275, 166, 1881, 2089, 412, 1126, 2376, 1446, 724, 2059, 897, 761, 301, 1736, 2071, 1937, 489, 1248, 1, 1986, 1113, 499, 1729, 1977, 7, 2225, 1727, 2285, 1, 369, 1825, 1368, 1163, 485, 2266, 1770, 684, 1636, 437, 956, 565, 479, 457, 2121, 1273, 954, 1932, 2233, 1479, 626, 434, 2085, 971, 1, 2137, 745, 1019, 161, 902, 2236, 1221, 1633, 1982, 2333, 1588, 221, 1580, 1183, 2124, 229, 769, 208, 1067, 1525, 2245, 2052, 682, 1890, 1325, 1635, 2125, 177, 1355, 411, 1691, 1261, 95, 2382, 766, 1983, 91, 1402, 178, 55, 1088, 1836, 1, 2158, 922, 2339, 1199, 750, 686, 2026, 199, 1771, 2223, 1735, 2141, 1079, 771, 456, 1357, 1551, 2156, 827, 785, 1639, 967, 428, 570, 2276, 551, 345, 1828, 1087, 1181, 1348, 1843, 338, 1052, 1306, 117, 60, 976, 2155, 1, 1, 1003, 518, 121, 1917, 1, 901, 2326, 1309, 1872, 103, 459, 29, 1491, 143, 418, 790, 405, 110, 926, 76, 1466, 1, 379, 852, 1861, 1924, 194, 1979, 1516, 2188, 1739, 900, 2337, 2010, 1, 2076, 2307, 1676, 2302, 1657, 211, 112, 1631, 2176, 2227, 2129, 947, 597, 2127, 1474, 2332, 1008, 53, 1091, 1586, 1190, 219, 1820, 919, 2273, 1804, 654, 363, 2352, 1350, 2393, 2134, 1481, 1, 2007, 144, 2182, 1082, 742, 1782, 1241, 1575, 266, 1240, 1714, 1779, 1230, 1, 757, 2362, 2297, 283, 942, 1178, 2029, 1788, 1236, 1, 636, 1057, 2314, 74, 1848, 1638, 1632, 2145, 1085, 1382, 2185, 241, 105, 397, 480, 1, 1497, 2364, 1915, 1388, 590, 719, 1141, 1486, 782, 358, 1995, 1363, 1852, 980, 309, 1774, 1939, 440, 1831, 259, 1511, 448, 254, 1715, 2321, 433, 1410, 1666, 689, 611, 1176, 2027, 1445, 1950, 1845, 2047, 256, 315, 2132, 1800, 1009, 1593, 673, 1614, 1613, 1045, 429, 559, 1792, 999, 1548, 1442, 1874, 1257, 2130, 1703, 1492, 1602, 2082, 28, 1024, 1, 127, 400, 1000, 962, 1797, 1517, 2170, 372, 2210, 1781, 174, 453, 1690, 600, 2022, 1366, 1865, 2228, 1211, 2081, 2221, 463, 664, 1, 822, 213, 1358, 1089, 356, 973, 544, 1016, 416, 2391, 2148, 656, 2338, 1227, 350, 2373, 939, 1336, 2295, 1889, 1377, 2242, 923, 2308, 311, 1866, 20, 188, 928, 1263, 1751, 1916, 2199, 1188, 1, 1072, 2113, 2067, 1425, 146, 423, 270, 449, 1531, 444, 1653, 1716, 635, 801, 251, 277, 2006, 543, 1015, 2312, 1829, 2207, 424, 855, 2279, 1138, 1515, 887, 1401, 375, 1086, 1399, 2325, 2335, 1567, 1973, 817, 1612, 1758, 2012, 2327, 660, 1206, 2070, 2354, 1805, 994, 1851, 2169, 495, 2101, 1477, 707, 870, 695, 1807, 1835, 2229, 406, 2378, 659, 877, 2146, 1172, 1487, 1081, 614, 1755, 1953, 1675, 728, 2061, 866, 2174, 2180, 1193, 90, 762, 2244, 687, 810, 244, 2152, 1757, 1, 1308, 2054, 1717, 2004, 1547, 473, 630, 2011, 533, 1480, 1327, 1452, 2159, 2192, 2160, 193, 133, 1275, 749, 874, 47, 2310, 1168, 1880, 2157, 300, 380, 102, 1608, 1342, 949, 1571, 661, 1826, 2186, 441, 2119, 1485, 513, 1748, 2260, 396, 2013, 1763, 712, 2315, 41, 2112, 821, 991, 755, 1447, 126, 2100, 748, 1656, 859, 2147, 470, 1393, 1899, 1778, 805, 978, 577, 2103, 528, 1194, 717, 1906, 490, 223, 2318, 1237, 667, 2037, 1004, 961, 1, 753, 1591, 2183, 677, 650, 435, 589, 986, 1753, 594, 627, 2284, 917, 352, 2149, 1850, 1504, 2161, 1310, 2358, 2334, 320, 2142, 1461, 1913, 298, 52, 1885, 1596, 497, 815, 912, 2035, 56, 621, 1453, 2093, 1203, 1, 2329, 1862, 197, 789, 1069, 1590, 2083, 1311, 82, 1379, 22, 2230, 1391, 1981, 1335, 430, 1274, 1731, 1467, 100, 952, 138, 608, 1296, 1540, 951, 2046, 2086, 1220, 2005, 1563, 2251, 367, 1965, 932, 716, 2385, 1, 1773, 698, 2316, 150, 337, 2065, 362, 545, 247, 1471, 987, 936, 1554, 2336, 595, 78, 1840, 1801, 616, 1692, 1, 2366, 910, 2399, 2298, 1893, 1449, 179, 1448, 1823, 1025, 1051, 2211, 1, 989, 19, 1987, 1, 1196, 1075, 1034, 1384, 410, 820, 8, 1468, 996, 1, 969, 1938, 17, 1403, 2243, 233, 2400, 1940, 1270, 829, 582, 1076, 721, 180, 916, 878, 2077, 1, 1, 496, 833, 975, 465, 1895, 1623, 1271, 1743, 2154, 2003, 1242, 2163, 1344, 812, 466, 2116, 814, 1738, 2389, 602, 1472, 2288, 1564, 276, 491, 657, 2126, 1338, 1961, 1522, 2367, 758, 1500, 2213, 1068, 2095, 1431, 77, 1387, 1925, 1313, 1960, 2043, 1151, 1, 97, 2215, 1341, 2044, 1251, 1539, 1121, 1097, 2136, 131, 1963, 1523, 950, 691, 395, 609, 462, 88, 49, 2104, 2189, 383, 799, 639, 1383, 2350, 135, 780, 170, 1680, 791, 730, 1396, 2282, 1, 1198, 295, 2379, 2353, 963, 89, 1222, 1458, 1132, 1668, 1607, 2281, 1967, 655, 2084, 1215, 2042, 1498, 1253, 2398, 1, 1507, 1288, 1, 2219, 2038, 2395, 1058, 393, 2049, 674, 1434, 2098, 2115, 988, 232, 1395, 1650, 469, 844, 1971, 1966, 1195, 26, 1470, 1, 586, 2177, 925, 787, 1324, 262, 2322, 1, 2258, 1, 940, 1, 2360, 198, 632, 1, 399, 1212, 1093, 2286, 2024, 339, 1920, 167, 481, 1745, 612, 1761, 2078, 2045, 935, 33, 1901, 1768, 1490, 287, 385, 1946, 436, 2041, 2072, 2231, 2167, 286, 679, 876, 1347, 1293, 216, 726, 1746, 2131, 1159, 520, 1160, 505, 2356, 1707, 1555, 269, 2068, 67, 2102, 1595, 1581, 1686, 779, 2217, 736, 2106, 2387, 1796, 99, 1934, 722, 1980, 50, 2357, 222, 1644, 1482, 1919, 2241, 2374, 2118, 2267, 294, 718, 522, 450, 1962, 992, 66, 1096, 2023, 2164, 1620, 2075, 230, 1989, 1042, 2388, 357, 511, 1356, 1412, 250, 2060, 1795, 1905, 669, 1984, 291, 2278, 802, 1285, 584, 1978, 515, 1279, 2256, 1777, 705, 846, 2340, 862, 628, 688, 944, 1372, 1824, 1496, 1020, 2370, 1333, 1750, 500, 1262, 1582, 1842, 974, 1, 1536, 492, 407, 1611, 1041, 752, 2096, 1513, 1708, 1380, 1106, 809, 1576, 1646, 879, 554, 1914, 1301, 1094, 864, 1169, 2120, 1119, 527, 1682, 1776, 71, 1790, 523, 15, 1, 1951, 204, 849, 152, 1326, 1526, 997, 1677, 292, 516, 1742, 214, 567, 1, 906, 2017, 798, 442, 1154, 1816, 403, 598, 1174, 1685, 2262, 1696, 1066, 1684, 189, 634, 1027, 1990, 826, 561, 1813, 619, 882, 825, 62, 1437, 1, 1719, 304, 1473, 1541, 693, 398, 1048, 2151, 1038, 534, 261, 1460, 2032, 87, 990, 1374, 704, 1373, 1111, 1, 1167, 2031, 1303, 1170, 148, 1634, 1414, 1, 725, 1260, 1185, 381, 959, 1065, 153, 972, 2191, 389, 458, 1579, 260, 1258, 1651, 472, 1630, 1, 1839, 1604, 666, 506, 1352, 1074, 596, 1450, 702, 195, 560, 1553, 268, 1510, 98, 147, 1618, 58, 783, 863, 2311, 1064, 1535, 960, 937, 335, 2001, 599, 347, 1697, 220, 488, 1454, 2377, 703, 1821, 1289, 162, 1, 1609, 1671, 1108, 930, 832, 2050, 281, 313, 1282, 2319, 546, 228, 1184, 27, 1014, 1772, 797, 1945, 1187, 591, 985, 1, 788, 1394, 236, 1351, 326, 1803, 2200, 1662, 1806, 800, 1610, 1505, 848, 895, 1537, 1744, 255, 1443, 514, 873, 1955, 851, 1166, 1369, 1622, 778, 1879, 360, 1857, 1974, 1100, 1017, 651, 1737, 1420, 610, 1681, 731, 1147, 72, 1720, 663, 1533, 302, 1, 93, 784, 308, 888, 2249, 307, 524, 2074, 1493, 1621, 169, 1559, 263, 1322, 740, 1040, 1814, 1578, 1294, 1010, 1, 806, 872, 384, 792, 713, 629, 92, 569, 1, 238, 572, 1, 1109, 1841, 1451, 156, 284, 329, 265, 1, 1457, 638, 1173, 1, 1702, 348, 854, 1756, 575, 904, 793, 200, 129, 119, 1218, 690, 108, 1315, 1810, 390, 1561, 1679, 35, 1993, 18, 402, 86, 2291, 1112, 2304, 1117, 1783, 1869, 242, 732, 968, 1186, 2268, 1165, 377, 1969, 185, 4, 2002, 359, 2021, 1606, 142, 37, 10, 1339, 1118, 1730, 1229, 1830, 2368, 164, 1683, 409, 342, 2094, 282, 46, 1033, 1098, 622, 168, 881, 1832, 1189, 737, 606, 735, 1, 2138, 455, 662, 1, 714, 532, 1765, 1849, 1933, 837, 2030, 845, 69, 1488, 461, 853, 709, 510, 2008, 376, 1246, 830, 387, 191, 729, 1405, 1, 1150, 1709, 836, 413, 681, 1926, 1090, 68, 1290, 860, 1022, 1733, 1660, 1331, 1102, 1390, 1, 446, 1116, 918, 447, 1073, 1873, 1036, 2283, 552, 2372, 299, 1305, 739, 279, 1503, 425, 1802, 2265, 2383, 1545, 1314, 23, 1994, 2294, 1011, 278, 2292, 79, 16, 2175, 538, 1903, 1417, 1931, 648, 1625, 2057, 273, 1130, 1834, 355, 1811, 1599, 1519, 361, 141, 647, 404, 1264, 305, 1029, 618, 1999, 1031, 1018, 344, 160, 1509, 1726, 1877, 1056, 1249, 1597, 1701, 509, 2091, 1728, 132, 374, 1809, 324, 2099, 884, 1897, 1021, 772, 43, 1693, 1055, 2079, 349, 2162, 624, 1854, 5, 1337, 913, 1216, 2253, 21, 847, 175, 2056, 257, 548, 1489, 1799, 2250, 1, 2051, 1129, 764, 526, 583, 869, 235, 1483, 2009, 1780, 1819, 1718, 327, 744, 1786, 983, 130, 225, 1645, 1063, 685, 1316, 1577, 192, 840, 1542, 1941, 1224, 1053, 890, 1964, 865, 530, 1968, 1704, 1161, 1465, 1543, 1637, 1135, 1435, 831, 1367, 699, 537, 39, 1689, 1972, 1573, 1152, 1122, 1760, 1334, 421, 1385, 1, 2204, 2028, 325, 1, 1661, 275, 498, 1146, 1713, 1208, 1427, 945, 588, 2201, 1512, 267, 1687, 1754, 641, 623, 182, 2190, 1207, 61, 371, 573, 1298, 1259, 1724, 1988, 1996, 419, 1, 738, 1191, 243, 1415, 249, 1381, 580, 134, 1921, 2202, 468, 2110, 1360, 796, 1669, 1235, 474, 1304, 1648, 483, 1125, 73, 931, 1847, 1078, 2365, 1658, 754, 1, 781, 539, 741, 795, 1502, 2277, 1520, 1280, 1789, 1911, 1268, 697, 1521, 1462, 1137, 1, 2166, 1370, 743, 914, 1441, 759, 1353, 615, 842, 1005, 125, 1164, 1787, 1340, 970, 823, 1494, 201, 1617, 578, 1705, 1723, 1134, 706, 114, 587, 1291, 96, 893, 1157, 1158, 314, 2359, 1888, 332, 1153, 1, 1570, 224, 2048, 303, 786, 139, 6, 1568, 1572, 734, 218, 943, 1070, 1, 1583, 1028, 1647, 1062, 531, 293, 368, 2087, 431, 1217, 1307, 620, 1734, 1180, 432, 1284, 493, 2240, 101, 1600, 911, 1992, 210, 212, 1, 340, 1907, 31, 894, 839, 1413, 173, 484, 2293, 1626, 1, 13, 924, 903, 507, 1392, 2248, 512, 993, 605, 1318, 227, 1044, 36, 215, 1641, 1281, 1171, 1256, 1534, 2323, 1665, 977, 1095, 354, 1233, 1846, 59, 1192, 1514, 701, 248, 2016, 642, 1566, 1265, 1321, 1238, 1949, 1422, 2306, 346, 1371, 1, 253, 351, 644, 30, 239, 1, 1501, 770, 1092, 1312, 933, 1711, 938, 1859, 1976, 964, 1659, 2123, 1, 540, 708, 1329, 907, 159, 1050, 1833, 1107, 807, 1375, 2193, 9, 187, 1629, 1759, 258, 1378, 562, 2122, 861, 557, 617, 51, 1673, 234, 549, 288, 981, 1131, 898, 1023, 1287, 1710, 183, 601, 24, 892, 1433, 529, 1432, 1250, 1459, 672, 1550, 274, 880, 775, 1764, 965, 640, 1345, 1317, 1898, 2117, 643, 700, 1145, 186, 1574, 1398, 715, 388, 486, 1469, 1478, 34, 1001, 1254, 2107, 1128, 957, 850, 272, 1456, 475, 867, 476, 1815, 1922, 1518, 104, 494, 1798, 1508, 1558, 1929, 1, 2165, 445, 1785, 408, 80, 889, 1297, 1, 240, 333, 765, 85, 1225, 1875, 504, 115, 645, 1530, 649, 1277, 1133, 2351, 2036, 1706, 1214, 1, 1406, 2289, 1411, 1123, 45, 1959, 1299, 38, 1177, 443, 1226, 1628, 2296, 205, 1007, 2301, 1725, 883, 1560, 1923, 42, 694, 341, 1114, 637, 1956, 585, 1319, 1688, 1046, 306, 154, 1120, 946, 336, 868, 1283, 1624, 1670, 886, 1175, 696, 1767, 365, 1649, 542, 1080, 1664, 1103, 1267, 1436, 334, 593, 2222, 1272, 113, 271, 2033, 658, 1234, 856, 1565, 1, 1, 871, 190, 391, 1421, 1878, 1616, 137, 1615, 124, 1043, 683, 107, 1320, 1376, 464, 2270, 2020, 899, 328]rank_100 = pd.DataFrame(rank_100)rank_100.columns = ['rank']x_drop_100 = pd.merge(rank_100,x_drop_fea1,on = rank_100.index)x_drop_100 = x_drop_100.drop('key_0',axis = 1)x_drop_100 = x_drop_100.groupby(x_drop_100.index).filter(lambda x:float(x['rank'])==1)x_drop_100 = x_drop_100.drop('rank',axis = 1)x_drop_100 = x_drop_100.Tss = StandardScaler()x_drop1_100 = ss.fit_transform(x_drop_100)x_drop1_100 = pd.DataFrame(x_drop1_100)return x_drop1_100class NumpyEncoder(json.JSONEncoder):""" Special json encoder for numpy types """def default(self, obj):if isinstance(obj, (np.int_, np.intc, np.intp, np.int8,np.int16, np.int32, np.int64, np.uint8,np.uint16, np.uint32, np.uint64)):return int(obj)elif isinstance(obj, (np.float_, np.float16, np.float32,np.float64)):return float(obj)elif isinstance(obj, (np.ndarray,)):return obj.tolist()return json.JSONEncoder.default(self, obj)# route()方法用于设定路由;类似spring路由配置
@app.route('/test_1/',methods=['post','get'])
def predict():    if request.method == 'POST':start = time.time()content_list = request.json['data_list_list']type_list = request.json['type_list']pre_chuli(content_list,type_list)x_npa = trans_multi_input_tokenize_data2npa(data_jsonl,sentence_maxlen,word2index_dict) result = {"result": []}       d = dict()for type_1 in type_list:if type_1 == "age":x_drop1_100 = data_mining(x_npa)pre_age = model_age.predict(x_drop1_100)d['age'] = pre_age.tolist()elif type_1 == "position":x_npa_position = x_npapre = model_position.predict({"input{}".format(i):x_npa[:,i] for i in range(input_number)})output_position = tf.keras.layers.Dense(7, activation='softmax',use_bias=True,kernel_regularizer=tf.keras.regularizers.l2())(pre)pre_position = np.argmax(output_position,axis = 1)d['position'] = pre_position.tolist()elif type_1 == 'trade':x_npa = x_npa.reshape(len(x_npa),5120)x_npa = pd.DataFrame(x_npa)pca = PCA(n_components=200)   #降到200维
#    pca.fit(x_npa)                  #训练df_datapca_x=pca.fit_transform(x_npa) #  df_datapca_x = data_trade_deal(x_npa)print(df_datapca_x)pre_trade = model_trade.predict(df_datapca_x)d['trade'] = pre_trade.tolist()else:pre_gender = model_gender.predict(x_drop1_100)d['gender'] = pre_trade.tolist()result["result"].append(d)dic_age = {0:'36~45',1:'30~35',2:'26~29',3:'~20',4:'46~50',5:'21~25',6:'50~'}dic_position = {0:'企业业务决策层',1:'企业普通员工',2:'企业CEO',3:'企业一般管理人员',4:'其他',5:'在校学生',6:'事业单位员工'}dic_trade = {0:'金融',1:'IT/移动互联网',2:'其他',3:'制造业',4:'房地产',5:'零售消费',6:'汽车',7:'电商',8:'IOT',9:'游戏',10:'医疗'}dic_gender = {0:'男',1:'女',2:'aaaf'}out_list = []for type_2 in type_list:if type_2 == 'age':for i in result["result"][0]['age']:out_list.append(dic_age[i])if type_2 == 'position':for i in result['result'][0]['position']:out_list.append(dic_position[i])if type_2 == 'trade':for i in result['result'][0]['trade']:out_list.append(dic_trade[i])if type_2 == 'gender':for i in result['result'][0]['gender']:out_list.append(dic_gender[i])end = time.time()print("time: {:.2f} s".format(end - start))return jsonify({"result" : out_list})if __name__ == '__main__':filepath_age = "../code/model_svmnew"filepath_position = "../code/model_output2"filepath_trade = "../code/trademodel_svm/trademodel_svm"data_jsonl = r"../data/predict_user_attribute20200911/raw_data/user_profile/age/test最终数据集tokenize2.jsonl"word2vector_file_path = r"../data/dim256/word2vector.bin"model_age = joblib.load(filepath_age)input_number = 10sentence_maxlen = 512
#    tf.keras.models.Modelmodel_position = load_model(filepath_position)    model_trade = joblib.load(filepath_trade)model_gender = joblib.load(filepath_age)         embedding_matrix,word2vector_dict,word2index_dict = trans_gensim_word2vec2tf_embedding(word2vector_file_path)vocab_size,embedding_dim = embedding_matrix.shape # app.run(host, port, debug, options)# 默认值:host="127.0.0.1", port=5000, debug=Falseapp.run(host="0.0.0.0", port=8888)

flask的一个小项目相关推荐

  1. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:前期需求调查部分)...

    两年前还在宁波时,我做过宁波教育局的一个小项目,一个部门内部使用的公文收发记录软件,这个项目当时是跟 他们的网络中心的老师洽谈的,网络中心负责此项目的老师,跟我们年龄差不多,30不到,可能要比我小上2 ...

  2. java学习笔记(二十八)——开发一个小项目(VMeeting3.0)

    上篇文章按照较规范的产品需求文档梳理了项目的逻辑,感觉开发起来明晰了很多:挂上一篇文章java学习笔记(二十七)--开发一个小项目(VMeeting2.0)_Biangbangbing的博客-CSDN ...

  3. v54.04 鸿蒙内核源码分析(静态链接) | 一个小项目看中间过程 | 百篇博客分析HarmonyOS源码

    子曰:"回也其庶乎,屡空.赐不受命,而货殖焉,亿则屡中." <论语>:先进篇 百篇博客系列篇.本篇为: v54.xx 鸿蒙内核源码分析(静态链接篇) | 一个小项目看中 ...

  4. 三年前的一个小项目经验,分享给菜鸟兄弟们

    原文地址 (公文收发小软件:前期需求调查部分) 日期:2009年1月1日  晚上 分类:项目开发经验 两年前还在宁波时,我做过宁波教育局的一个小项目,一个部门内部使用的公文收发记录软件.这个项目当时是 ...

  5. 做了一个小项目-PHP实现人生只有900个月

    做了一个小项目-PHP实现人生只有900个月 ​ 起因当然是阮一峰老师那篇振聋发聩的博文<人生只有900个月>,几年前看到以后羞愧到无法自拔,想到自己曾经浪费多少时间,在一些无意义的事情上 ...

  6. c语言计算学生成绩的合格率,分享一个几年前刚学c的一个小项目。成绩的输入,查询,排序,插...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 分享一个几年前刚学c的一个小项目.成绩的输入,查询,排序,插入,删除,修改,求平均分总分.合格率的,对于初学者可以看看这种. #include void ...

  7. 通过一个小项目介绍Python3读写Access数据库(.mdb)的方法

    1. 小项目功能介绍 本文通过一个小项目介绍Python3读写Access数据库(.mdb)的方法,该项目功能较简单,将mdb中的旧编码替换为新编码,新旧编码对照表放在1个excel(本文命名为新旧编 ...

  8. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:收款验收部分)...

    从一开始,我就意识到这个项目,我是搞错了,我没有隐瞒领导(备注,我们领导有20年以上的工作经验),心态也好,心境也高, 2位领导经验也丰富,也信任我,我也是为了公司好,也是比较好的出发点,他们给我打了 ...

  9. python登陆界面代码_Python-PyQt5-第一个小项目--登录框--login

    Ps:水平有限,欢迎建议和挑错 我们在此之前,学习了PyQt的主窗口(QMainwindow),按钮(Qpushbutton),标签栏(QLabel),文本框编辑框(LineEdit)4个组件. 我们 ...

  10. 使用express+webpack搭建一个小项目

    本项目想实现一个小网站, css方面:带reset.css,能使用sass语法: js方面:能使用es6语法: 模板方面:有可继承的模板,公用部分可提取公用的模板: 项目实现热启动: 实现思路: 使用 ...

最新文章

  1. 密码危机:深度学习正在加速密码破解!
  2. 从python中的列表中获取唯一值[重复]
  3. spring.profiles.active配置了没生效_一文带你彻底学会 Git Hooks 配置
  4. 老版本fortran语言 内存无效_面向科学计算的高性能动态编程语言 Julia
  5. 一些有意思的算法代码[转载]
  6. jupyter notebook使用opencv的例子_VSCode中使用jupyter notebook
  7. nginx的安装及简单负载均衡配置
  8. android8.0 苹果,外媒:看完Android8.0 这次是谷歌抄苹果
  9. MySQL数据库入门(超详细,多图解)
  10. RGB色彩模式-最广的颜色系统之一
  11. 解决azkaban使用腾讯企业邮箱发邮件失败问题
  12. [luogu4315] 月下“毛景树”
  13. 白话机器学习-Encoder-Decoder框架
  14. benj™ 100+城市街拍电影人像调色LR预设/移动LR预设/LUT预设效果预览
  15. 嵌入式Linux:移植USB接口的RTL8188EUS、RTL8188ETV WIFI模块
  16. python甜橙歌曲音乐网站平台源码
  17. Easyrecovery13 for mac 易恢复软件 官方中文版下载
  18. 一加手机怎么root权限_一加手机OnePlus卡刷获取root权限图文教程
  19. M1卡 不能使用KeyB进行读写的问题
  20. thrift的使用介绍

热门文章

  1. 常见互联网公司职级和薪资一览,有条件的一定要进大厂,薪水是真高
  2. 去掉android点击事件产生的半透明蓝色背景
  3. 安卓修改软件安装时间_LaTeX软件安装教程
  4. 分享5个高质无损音乐网站,歌曲很丰富,爱听歌的小伙伴有耳福了
  5. pandas进阶 期中练习
  6. 使用Javascript 实现 分享到 新浪微博 QQ 空间等
  7. opencv+python获取摄像头视频流并翻转保存文件
  8. java 大于或等于_java大于等于怎么表示
  9. Android仿QQ空间
  10. chkdsk 停滞_职业停滞–早期发现和治疗