Count numbers in scientific notation (E-notation)
This would do it:
SELECT count(*) AS overall
     , count(*) FILTER (WHERE partnumber ~* '^[-+]?\d*\.?\d+e[-+]?\d+$') AS matches
FROM mytable
-- WHERE .. -- no outer WHERE

~* is the case-insensitive regular expression match operator.
The pattern'^[-+]?\d*\.?\d+e[-+]?\d+$' only applies to numbers in E-notation (without blanks).
Details in the manual.