Я пытаюсь получить среднемесячную цифру из некоторых данных о расходах. Я использую d3.js для импорта и свертывания данных из csv, но я не могу отфильтровать только значения из результирующего массива, прежде чем я начну вычислять средние затраты.Вычисление среднего из массива javascript
Я новичок в Javascript, и ничто из этого не кажется интуитивным.
// get filtered data (df)
d3.csv("/data/cic_data.csv", function (csv) {
// roll up and group data
var data = d3.nest()
.key(function(d) { return d.date; })
.rollup(function(d) {
return d3.sum(d, function(g) {return g.spend; });
}).entries(csv);
var valueData = data.filter(function(d) {
return d.values;
})
var sum = 0;
for(var i = 0; i < data.length; i++){
sum += parseInt(data[i], 10); //don't forget to add the base
}
var avg = sum/data.length;
console.log(avg)
Вот пример моего CSV:
entity,level1,level2,supplier,type,date,spend,year,sin
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,GREEN SHOES ARTS COMMUNITY INTEREST COMPANY,LARGE,2014-07-01,4001.50,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,GREENSPACE INFORMATION FOR GREATER LONDON CIC,OTHER,2014-07-01,2400.00,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,GREEN SHOES ARTS COMMUNITY INTEREST COMPANY,LARGE,2014-06-01,8995.00,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,GREEN SHOES ARTS COMMUNITY INTEREST COMPANY,LARGE,2014-05-01,640.00,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,PUBLIC HEALTH ACTION SUPPORT TEAM CIC,SMALL,2014-05-01,6480.00,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,GREEN SHOES ARTS COMMUNITY INTEREST COMPANY,LARGE,2014-04-01,7286.00,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,GREEN SHOES ARTS COMMUNITY INTEREST COMPANY,LARGE,2014-03-01,15659.50,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,THE SMALL BUSINESS CONSULTANCY LEICESTER CIC,OTHER,2014-03-01,6000.00,2014,12
BARKING DAGENHAM LONDON BOROUGH COUNCIL,Local Government,LONDON,GREEN SHOES ARTS COMMUNITY INTEREST COMPANY,LARGE,2014-02-01,4001.50,2014,12
Я думаю, проблема в том, что второй аргумент - это «аксессор», возможно, вам нужно изменить его на третий аргумент, который является «обратным вызовом». Например, try '' 'd3.csv ("/data/cic_data.csv ", function (d) {return d;}, function (csv) {...' '' – josephnvu