Ceaveat ¡ Lo siguiente es aplicable solo a d3 v3, y no al último d4v4!
Soy parcial a d3.js , y aunque no será un reemplazo total para Pandas, si pasa algún tiempo aprendiendo su paradigma, debería poder encargarse de todos sus datos por usted. (Y si termina queriendo mostrar los resultados en el navegador, es ideal para eso).
Ejemplo. Mi archivo CSV data.csv
:
name,age,color
Mickey,65,black
Donald,58,white
Pluto,64,orange
En el mismo directorio, cree un que index.html
contenga lo siguiente:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>My D3 demo</title>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<script charset="utf-8" src="demo.js"></script>
</body>
</html>
y también un demo.js
archivo que contiene lo siguiente:
d3.csv('/data.csv',
function(row) {
return {name : row.name, age : +row.age, color : row.color};
},
function(data) {
console.log(data);
var averageAge = data.reduce(function(prev, curr) {
return prev + curr.age;
}, 0) / data.length;
var ulSelection = d3.select('body').append('ul');
var valuesSelection =
ulSelection.selectAll('li').data(data).enter().append('li').text(
function(d) { return d.age; });
var totalSelection =
ulSelection.append('li').text('Average: ' + averageAge);
});
En el directorio, ejecute python -m SimpleHTTPServer 8181
y abra http: // localhost: 8181 en su navegador para ver una lista simple de las edades y su promedio.
Este sencillo ejemplo muestra algunas características relevantes de d3:
- Excelente soporte para la ingesta de datos en línea ( CSV , TSV, JSON, etc.)
- Inteligencia de gestión de datos incorporada
- Manipulación DOM basada en datos (quizás lo más difícil de entender): sus datos se transforman en elementos DOM.