Published
Edited
Jun 14, 2021
6 forks
Insert cell
Insert cell
Insert cell
viewof dt_clients = aq.fromCSV(await FileAttachment('dt_clients.csv').text())
.view({height:240,limit:200})
Insert cell
dt_clients.numRows()
Insert cell
Insert cell
Insert cell
viewof count_sexo = dt_clients
.groupby('Sexo')
.count()
.orderby(aq.desc('count'))
.view({height:240})
Insert cell
Insert cell
viewof ref_sexo = aq.table({Sexo_Lower:['m','f','homem','masculino','masc.','mulher','feminino'],
Sexo_Ref: ['M','F','M','M','M','F','F']})
.view({height:240})
Insert cell
Insert cell
count_sexo
.derive({Sexo_Lower:d=>op.lower(d.Sexo)})
.join_left(ref_sexo)
.select(aq.not('Sexo_Lower'))
.view()
Insert cell
Insert cell
viewof dt_clients_sex_clean = dt_clients
.derive({Sexo_Lower:d=>op.lower(d.Sexo)})
.join_left(ref_sexo)
.select(aq.not('Sexo_Lower'))
.rename({Sexo_Ref:'Sexo_Clean'})
.relocate('Sexo_Clean',{after:'Sexo'})
.view({height:240,limit:100})
Insert cell
Insert cell
dt_clients_sex_clean
.groupby('Sexo_Clean')
.count()
.view({height:240})
Insert cell
Insert cell
viewof dt_estados_count = dt_clients
.groupby('estado')
.count()
.orderby(aq.desc('count'))
.view({height:400})
Insert cell
Insert cell
viewof ref_estados = aq.fromCSV(await FileAttachment('ref_estados.csv').text())
.view({height:240})
Insert cell
ref_estados.numRows()
Insert cell
Insert cell
dt_clients
.antijoin(ref_estados)
.view({height:240})
Insert cell
Insert cell
viewof dt_clients_clean_estado= dt_clients
.semijoin(ref_estados)
.view({height:240})
Insert cell
Insert cell
dt_clients_clean_estado
.groupby('estado')
.count()
.view({height:240})
Insert cell
Insert cell
alphanum_mask('Anderson')
Insert cell
alphanum_mask('Joselino1344')
Insert cell
alphanum_mask('Bem-vindo a 2a bienal do livro, Paraty 2021')
Insert cell
viewof dt_clients_sobrenome_mask = dt_clients
.derive({Sobrenome_Mask:aq.escape(d => alphanum_mask(d.Sobrenome))},{after:'Nome'})
.view({height:240})
Insert cell
Insert cell
viewof count_sobrenomes = dt_clients_sobrenome_mask
.groupby('Sobrenome_Mask')
.count()
.orderby(aq.desc('count'))
.view()
Insert cell
Insert cell
containsNonAaSpc=function(str) {
return /[^Aa ]/.test(str);
}
Insert cell
containsNonAaSpc("Aaaaa *")
Insert cell
Insert cell
dt_clients_sobrenome_mask
.filter(aq.escape(d=>containsNonAaSpc(d.Sobrenome_Mask)))
.view({height:240})
Insert cell
viewof dt_clients_sobrenome_mask_clean = dt_clients_sobrenome_mask
.filter(aq.escape(d=>!containsNonAaSpc(d.Sobrenome_Mask)))
.view({height:240})
Insert cell
Insert cell
dt_clients_sobrenome_mask_clean
.groupby('Sobrenome_Mask')
.count()
.orderby(aq.desc('count'))
.view()
Insert cell
Insert cell
dt_clients
.derive({nascimento:aq.escape(d => alphanum_mask(d.nascimento))}) //.toISOString().slice(0,10)))})
.groupby('nascimento')
.count()
.orderby(aq.desc('count'))
.view()
Insert cell
Insert cell
dt_clients
.derive({cell:aq.escape(d => alphanum_mask(d.cell))})
.groupby('cell')
.count()
.orderby(aq.desc('count'))
.view()
Insert cell
Insert cell
cpf1='111-222-333-00'
Insert cell
cpf.validar(cpf1)
Insert cell
cpf1.length
Insert cell
cpf2='222.302.853-51'
Insert cell
cpf.validar(cpf2)
Insert cell
remove_non_digits(cpf1)
Insert cell
remove_non_digits(cpf1).length
Insert cell
Insert cell
dt_clients
.derive({cpf_valid:aq.escape(d=>cpf.validar(d.cpf))})
.groupby('cpf_valid')
.count()
.view()
Insert cell
Insert cell
Insert cell
viewof ref_cidades = aq.fromCSV(await FileAttachment('ref_cidades.csv').text())
.view({height:240})
Insert cell
Insert cell
reformata_data=function(str) {
return str.replace(/(\d{4})-(\d{2})-(\d{2})/,'$3-$2-$1');
}
Insert cell
reformata_data('1981-03-22')
Insert cell
Insert cell
Insert cell
remove_non_digits = function(str) {
return str.replace(/\D/g,'');
}
Insert cell
insere_tracinho=function(nine_digs) {
return `${nine_digs.slice(0,5)}-${nine_digs.slice(-4)}`;
}
Insert cell
alphanum_mask = function(s) {
return (s===null?s:remove_accents(s).replace(/\d/g,'9')
.replace(/[a-z]/g,'a')
.replace(/[A-Z]/g,'A'))
}
Insert cell
remove_accents = function(strAccents) {
var strAccents = strAccents.split('');
var strAccentsOut = new Array();
var strAccentsLen = strAccents.length;
var accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž";
var accentsOut = "AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz";
for (var y = 0; y < strAccentsLen; y++) {
if (accents.indexOf(strAccents[y]) != -1) {
strAccentsOut[y] = accentsOut.substr(accents.indexOf(strAccents[y]), 1);
} else
strAccentsOut[y] = strAccents[y];
}
strAccentsOut = strAccentsOut.join('');

return strAccentsOut;
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
'Rio' + ' de ' + 'Janeiro'
Insert cell
"São ".concat("Paulo")
Insert cell
Insert cell
`O quadrado de 7 é ${7*7}`
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
str_fla.length
Insert cell
str_fla.replace("flamengo", "vasco")
Insert cell
Insert cell
Insert cell
Insert cell
str_flu.replace("flamengo", "vasco")
Insert cell
Insert cell
str_fla.replace(/flamengo|fluminense/, "vasco")
Insert cell
str_flu.replace(/flamengo|fluminense/, "vasco")
Insert cell
Insert cell
Insert cell
str_flu2.replace(/flamengo|fluminense/, "vasco")
Insert cell
Insert cell
str_flu2.replace(/flamengo|fluminense/i, "vasco")
Insert cell
Insert cell
str_flu2.toLowerCase().replace(/flamengo|fluminense/, "vasco")
Insert cell
Insert cell
Insert cell
[str_fla,str_flu,str_ame].map(s=>s.replace(/flamengo|fluminense|américa/, "vasco"))
Insert cell
Insert cell
Insert cell
[str_fla,str_flu,str_ame,str_bot].map(s=>s.replace(/flamengo|fluminense|américa/, "vasco"))
Insert cell
Insert cell
str_fla
Insert cell
str_fla.replace(/do .*$/,"do vasco")
Insert cell
str_fla.replace(/^eu.*do/,"quem é")
Insert cell
str_fla.replace(/^.*do/,"quem é")
Insert cell
Insert cell
str_fla.replace(/^.*?do/,"quem é")
Insert cell
[str_fla,str_flu,str_ame,str_bot].map(s=>s.replace(/do .*$/i,"do vasco"))
Insert cell
Insert cell
Insert cell
Insert cell
phone1='+55(21)98544-3322'
Insert cell
remove_non_digits(phone1)
Insert cell
[phone1.length, remove_non_digits(phone1).length]
Insert cell
Insert cell
ddd1='21'
Insert cell
cell1='987653211'
Insert cell
ddd1+cell1
Insert cell
'('+ddd1+')'+cell1
Insert cell
Insert cell
cell1.slice(0,5)
Insert cell
Insert cell
cell1.slice(-4) // poderia ser cell1.slice(5,9)
Insert cell
Insert cell
cell1.slice(0,5)+'-'+cell1.slice(-4)
Insert cell
Insert cell
'('+ddd1+')'+cell1.slice(0,5)+'-'+cell1.slice(-4)
Insert cell
Insert cell
`(${ddd1})${cell1.slice(0,5)}-${cell1.slice(-4)}`
Insert cell
Insert cell
`(${ddd1})${insere_tracinho(cell1)}`
Insert cell

One platform to build and deploy the best data apps

Experiment and prototype by building visualizations in live JavaScript notebooks. Collaborate with your team and decide which concepts to build out.
Use Observable Framework to build data apps locally. Use data loaders to build in any language or library, including Python, SQL, and R.
Seamlessly deploy to Observable. Test before you ship, use automatic deploy-on-commit, and ensure your projects are always up-to-date.
Learn more