Наведене нижче стосується лише d3 v3, а не останнього d4v4!
Я прихильний до d3.js , і хоча це не буде повною заміною Pandas, якщо ви витратите трохи часу на вивчення його парадигми, він повинен мати можливість подбати про всі ваші переробки даних за вас. (І якщо ви хочете відобразити результати в браузері, це ідеально підходить для цього.)
Приклад. Мій файл CSV data.csv
:
name,age,color
Mickey,65,black
Donald,58,white
Pluto,64,orange
У тому ж каталозі створіть файл, index.html
що містить таке:
<!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>
а також demo.js
файл, що містить наступне:
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);
});
У каталозі запустіть python -m SimpleHTTPServer 8181
і відкрийте в браузері http: // localhost: 8181, щоб побачити простий перелік віків та їх середнього значення.
Цей простий приклад показує кілька важливих особливостей d3:
- Відмінна підтримка для проковтування даних в Інтернеті ( CSV , TSV, JSON тощо)
- Розумний розбір даних, запечений у
- Управління DOM, кероване даними (можливо, найважче обернути голову): ваші дані трансформуються в елементи DOM.