Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

263
Views
Eliminar los valores de NaN de los datos en D3.js

Aquí está mi código:

 d3.csv('stockdataToPlot.csv', function(d){ return {date : d3.timeParse("%Y-%m-%d")(d.Date), aapl : d.AAPL, aapl_sma: d.SMA_AAPL, tsla : d.TSLA, tsla_sma: d.SMA_TSLA} }).then(plot_data);

Me gustaría eliminar los valores de NaN de d.SMA_AAPL y d.SMA_TSLA . Agradecería que alguien me ayudara a incorporar este ejemplo correctamente:

 d3.csv('stockdataToPlot.csv', function(d){ var data = d.filter(function(e){ if(isNaN(e.value)){ return false; } e.value = parseInt(e.value, 10); return true; }); return {date : d3.timeParse("%Y-%m-%d")(d.Date), aapl : d.AAPL, aapl_sma: data.SMA_AAPL, tsla : d.TSLA, tsla_sma: data.SMA_TSLA} }).then(plot_data);

El error actual es TypeError: d.filter is not a function . Lo cual es confuso porque .filter toma una matriz de datos como parámetro, que debe ser d como se menciona en la primera línea.

Esta es una buena línea compacta de código de la documentación: const result = words.filter(word => word.length > 6); ¿Cómo se adapta esto? var data = d.filter(?? => ??.isNan(??)); ?

Estoy seguro de que estoy pensando demasiado en esto, pero soy nuevo en javascript y no entiendo completamente cómo funciona. En python pandas simplemente haría data.dropna() :(

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Fijado:

 d3.csv('stockdataToPlot.csv', function(d){ function removeNaN(e,c){ if(e>0){return e}else{return c} } return {date : d3.timeParse("%Y-%m-%d")(d.Date), aapl : d.AAPL, aapl_sma: removeNaN(+d.SMA_AAPL,d.AAPL), tsla : d.TSLA, tsla_sma: removeNaN(+d.SMA_TSLA,d.TSLA)} }).then(plot_data);

En mi caso, el NaN se registraba como "", que por defecto es 0 cuando se pasa con un +. Afortunadamente, no tenía ningún valor en mis datos menor o igual a 0. En lugar de eliminarlos, los reemplacé con los mismos valores que el cierre, ya que es solo un promedio móvil. No es lo ideal, pero está bien por ahora.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!