我有一个很大的数据集,其中包含接近500万行和138列的数据。是的,刚刚将一个大型csv导入了postgres表。
我需要什么:
过滤掉缺少任何值的任何行
使用诸如A,B,C,D ...的值将分类列转换为1,2,3,4 ..
然后我需要归一化所有列中的所有值,例如:(x-avg)/(max-min),其中x是该特定行的tha值,avg,max和min是,分别为该列的平均值,最大值和最小值
我需要检索按列名称分组的这些值
表的规格:
CREATE TABLE microdata_enem_2017(
NU_INSCRICAO VARCHAR(12) PRIMARY KEY,
NU_ANO INTEGER,
CO_MUNICIPIO_RESIDENCIA INTEGER,
NO_MUNICIPIO_RESIDENCIA VARCHAR(150),
CO_UF_RESIDENCIA INTEGER,
SG_UF_RESIDENCIA VARCHAR(2),
NU_IDADE INTEGER,
TP_SEXO VARCHAR(2),
TP_ESTADO_CIVIL INTEGER,
TP_COR_RACA INTEGER,
TP_NACIONALIDADE INTEGER,
CO_MUNICIPIO_NASCIMENTO INTEGER,
NO_MUNICIPIO_NASCIMENTO VARCHAR(150),
CO_UF_NASCIMENTO INTEGER,
SG_UF_NASCIMENTO VARCHAR(7),
TP_ST_CONCLUSAO INTEGER,
TP_ANO_CONCLUIU INTEGER,
TP_ESCOLA INTEGER,
TP_ENSINO INTEGER,
IN_TREINEIRO INTEGER,
CO_ESCOLA INTEGER,
CO_MUNICIPIO_ESC INTEGER,
NO_MUNICIPIO_ESC VARCHAR(150),
CO_UF_ESC INTEGER,
SG_UF_ESC VARCHAR(2),
TP_DEPENDENCIA_ADM_ESC INTEGER,
TP_LOCALIZACAO_ESC INTEGER,
TP_SIT_FUNC_ESC INTEGER,
IN_BAIXA_VISAO INTEGER,
IN_CEGUEIRA INTEGER,
IN_SURDEZ INTEGER,
IN_DEFICIENCIA_AUDITIVA INTEGER,
IN_SURDO_CEGUEIRA INTEGER,
IN_DEFICIENCIA_FISICA INTEGER,
IN_DEFICIENCIA_MENTAL INTEGER,
IN_DEFICIT_ATENCAO INTEGER,
IN_DISLEXIA INTEGER,
IN_DISCALCULIA INTEGER,
IN_AUTISMO INTEGER,
IN_VISAO_MONOCULAR INTEGER,
IN_OUTRA_DEF INTEGER,
IN_GESTANTE INTEGER,
IN_LACTANTE INTEGER,
IN_IDOSO INTEGER,
IN_ESTUDA_CLASSE_HOSPITALAR INTEGER,
IN_SEM_RECURSO INTEGER,
IN_BRAILLE INTEGER,
IN_AMPLIADA_24 INTEGER,
IN_AMPLIADA_18 INTEGER,
IN_LEDOR INTEGER,
IN_ACESSO INTEGER,
IN_TRANSCRICAO INTEGER,
IN_LIBRAS INTEGER,
IN_LEITURA_LABIAL INTEGER,
IN_MESA_CADEIRA_RODAS INTEGER,
IN_MESA_CADEIRA_SEPARADA INTEGER,
IN_APOIO_PERNA INTEGER,
IN_GUIA_INTERPRETE INTEGER,
IN_COMPUTADOR INTEGER,
IN_CADEIRA_ESPECIAL INTEGER,
IN_CADEIRA_CANHOTO INTEGER,
IN_CADEIRA_ACOLCHOADA INTEGER,
IN_PROVA_DEITADO INTEGER,
IN_MOBILIARIO_OBESO INTEGER,
IN_LAMINA_OVERLAY INTEGER,
IN_PROTETOR_AURICULAR INTEGER,
IN_MEDIDOR_GLICOSE INTEGER,
IN_MAQUINA_BRAILE INTEGER,
IN_SOROBAN INTEGER,
IN_MARCA_PASSO INTEGER,
IN_SONDA INTEGER,
IN_MEDICAMENTOS INTEGER,
IN_SALA_INDIVIDUAL INTEGER,
IN_SALA_ESPECIAL INTEGER,
IN_SALA_ACOMPANHANTE INTEGER,
IN_MOBILIARIO_ESPECIFICO INTEGER,
IN_MATERIAL_ESPECIFICO INTEGER,
IN_NOME_SOCIAL INTEGER,
CO_MUNICIPIO_PROVA INTEGER,
NO_MUNICIPIO_PROVA VARCHAR(150),
CO_UF_PROVA VARCHAR(2),
SG_UF_PROVA VARCHAR(2),
TP_PRESENCA_CN INTEGER,
TP_PRESENCA_CH INTEGER,
TP_PRESENCA_LC INTEGER,
TP_PRESENCA_MT INTEGER,
CO_PROVA_CN INTEGER,
CO_PROVA_CH INTEGER,
CO_PROVA_LC INTEGER,
CO_PROVA_MT INTEGER,
NU_NOTA_CN DECIMAL,
NU_NOTA_CH DECIMAL,
NU_NOTA_LC DECIMAL,
NU_NOTA_MT DECIMAL,
TX_RESPOSTAS_CN VARCHAR(50),
TX_RESPOSTAS_CH VARCHAR(50),
TX_RESPOSTAS_LC VARCHAR(50),
TX_RESPOSTAS_MT VARCHAR(50),
TP_LINGUA INTEGER,
TX_GABARITO_CN VARCHAR(50),
TX_GABARITO_CH VARCHAR(50),
TX_GABARITO_LC VARCHAR(50),
TX_GABARITO_MT VARCHAR(50),
TP_STATUS_REDACAO INTEGER,
NU_NOTA_COMP1 DECIMAL,
NU_NOTA_COMP2 DECIMAL,
NU_NOTA_COMP3 DECIMAL,
NU_NOTA_COMP4 DECIMAL,
NU_NOTA_COMP5 DECIMAL,
NU_NOTA_REDACAO DECIMAL,
Q001 VARCHAR(1),
Q002 VARCHAR(1),
Q003 VARCHAR(1),
Q004 VARCHAR(2),
Q005 VARCHAR(2),
Q006 VARCHAR(1),
Q007 VARCHAR(1),
Q008 VARCHAR(1),
Q009 VARCHAR(1),
Q010 VARCHAR(1),
Q011 VARCHAR(1),
Q012 VARCHAR(1),
Q013 VARCHAR(1),
Q014 VARCHAR(1),
Q015 VARCHAR(1),
Q016 VARCHAR(1),
Q017 VARCHAR(1),
Q018 VARCHAR(1),
Q019 VARCHAR(1),
Q020 VARCHAR(1),
Q021 VARCHAR(1),
Q022 VARCHAR(1),
Q023 VARCHAR(1),
Q024 VARCHAR(1),
Q025 VARCHAR(1),
Q026 VARCHAR(1),
Q027 VARCHAR(1)
);