Ceaveat Следующее применимо только к 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.