Numpy Supported functions
This will be a tracking issue for numpy supported functions with NEP-18 array function protocol to serve as information but also inspiration to contribute.
Please do not change existing entries. A new one be added when more functions are supported, just reference this issue with any PR that adds more supported functions.
numpy: 1.17.4 pint: 0.10.1 supported: 96 / 227
- [x] alen
- [x] all
- [ ] allclose
- [ ] alltrue
- [x] amax
- [x] amin
- [ ] angle
- [x] any
- [x] append
- [ ] apply_along_axis
- [ ] apply_over_axes
- [x] argmax
- [x] argmin
- [ ] argpartition
- [x] argsort
- [ ] argwhere
- [x] around
- [ ] array2string
- [ ] array_equal
- [ ] array_equiv
- [ ] array_repr
- [ ] array_split
- [ ] array_str
- [ ] asfarray
- [ ] asscalar
- [x] atleast_1d
- [x] atleast_2d
- [x] atleast_3d
- [x] average
- [ ] bincount
- [x] block
- [ ] broadcast_arrays
- [x] broadcast_to
- [ ] busday_count
- [ ] busday_offset
- [ ] can_cast
- [ ] choose
- [x] clip
- [x] column_stack
- [ ] common_type
- [x] compress
- [x] concatenate
- [ ] convolve
- [x] copy
- [x] copyto
- [ ] corrcoef
- [ ] correlate
- [x] count_nonzero
- [ ] cov
- [x] cross
- [x] cumprod
- [x] cumproduct
- [x] cumsum
- [ ] datetime_as_string
- [ ] delete
- [ ] diag
- [ ] diag_indices_from
- [ ] diagflat
- [x] diagonal
- [x] diff
- [ ] digitize
- [x] dot
- [ ] dsplit
- [x] dstack
- [x] ediff1d
- [x] einsum
- [ ] einsum_path
- [x] empty_like
- [x] expand_dims
- [ ] extract
- [ ] fill_diagonal
- [x] fix
- [ ] flatnonzero
- [x] flip
- [ ] fliplr
- [ ] flipud
- [x] full_like
- [ ] fv
- [ ] geomspace
- [x] gradient
- [ ] histogram
- [ ] histogram2d
- [ ] histogram_bin_edges
- [ ] histogramdd
- [ ] hsplit
- [x] hstack
- [ ] i0
- [ ] imag
- [ ] in1d
- [ ] inner
- [x] insert
- [x] interp
- [ ] intersect1d
- [ ] ipmt
- [ ] irr
- [ ] is_busday
- [x] isclose
- [x] iscomplex
- [ ] iscomplexobj
- [x] isin
- [ ] isneginf
- [ ] isposinf
- [x] isreal
- [ ] isrealobj
- [ ] ix_
- [ ] kron
- [ ] lexsort
- [x] linspace
- [ ] logspace
- [ ] max
- [ ] may_share_memory
- [x] mean
- [x] median
- [x] meshgrid
- [ ] min
- [ ] min_scalar_type
- [ ] mirr
- [x] moveaxis
- [ ] msort
- [x] nan_to_num
- [x] nanargmax
- [x] nanargmin
- [x] nancumprod
- [x] nancumsum
- [x] nanmax
- [x] nanmean
- [x] nanmedian
- [x] nanmin
- [x] nanpercentile
- [ ] nanprod
- [ ] nanquantile
- [x] nanstd
- [x] nansum
- [x] nanvar
- [x] ndim
- [x] nonzero
- [ ] nper
- [ ] npv
- [x] ones_like
- [ ] outer
- [ ] packbits
- [x] pad
- [ ] partition
- [x] percentile
- [ ] piecewise
- [ ] place
- [ ] pmt
- [ ] poly
- [ ] polyadd
- [ ] polyder
- [ ] polydiv
- [ ] polyfit
- [ ] polyint
- [ ] polymul
- [ ] polysub
- [ ] polyval
- [ ] ppmt
- [ ] prod
- [ ] product
- [x] ptp
- [ ] put
- [ ] put_along_axis
- [ ] putmask
- [ ] pv
- [ ] quantile
- [ ] rank
- [ ] rate
- [x] ravel
- [ ] ravel_multi_index
- [ ] real
- [ ] real_if_close
- [ ] repeat
- [x] reshape
- [x] resize
- [x] result_type
- [ ] roll
- [x] rollaxis
- [ ] roots
- [x] rot90
- [ ] round
- [x] round_
- [ ] row_stack
- [ ] save
- [ ] savetxt
- [ ] savez
- [ ] savez_compressed
- [x] searchsorted
- [ ] select
- [ ] setdiff1d
- [ ] setxor1d
- [x] shape
- [ ] shares_memory
- [ ] sinc
- [x] size
- [ ] sometrue
- [x] sort
- [ ] sort_complex
- [ ] split
- [x] squeeze
- [x] stack
- [x] std
- [x] sum
- [x] swapaxes
- [ ] take
- [ ] take_along_axis
- [ ] tensordot
- [x] tile
- [ ] trace
- [x] transpose
- [x] trapz
- [ ] tril
- [ ] tril_indices_from
- [x] trim_zeros
- [ ] triu
- [ ] triu_indices_from
- [ ] union1d
- [ ] unique
- [ ] unpackbits
- [ ] unravel_index
- [x] unwrap
- [ ] vander
- [x] var
- [ ] vdot
- [ ] vsplit
- [x] vstack
- [x] where
- [x] zeros_like
numpy: 1.17.4 pint: 0.10.2.dev4+g2da1be7 supported: 98 / 227
- [x] alen
- [x] all
- [x] allclose
- [ ] alltrue
- [x] amax
- [x] amin
- [ ] angle
- [x] any
- [x] append
- [ ] apply_along_axis
- [ ] apply_over_axes
- [x] argmax
- [x] argmin
- [ ] argpartition
- [x] argsort
- [ ] argwhere
- [x] around
- [ ] array2string
- [ ] array_equal
- [ ] array_equiv
- [ ] array_repr
- [ ] array_split
- [ ] array_str
- [ ] asfarray
- [ ] asscalar
- [x] atleast_1d
- [x] atleast_2d
- [x] atleast_3d
- [x] average
- [ ] bincount
- [x] block
- [ ] broadcast_arrays
- [x] broadcast_to
- [ ] busday_count
- [ ] busday_offset
- [ ] can_cast
- [ ] choose
- [x] clip
- [x] column_stack
- [ ] common_type
- [x] compress
- [x] concatenate
- [ ] convolve
- [x] copy
- [x] copyto
- [ ] corrcoef
- [ ] correlate
- [x] count_nonzero
- [ ] cov
- [x] cross
- [x] cumprod
- [x] cumproduct
- [x] cumsum
- [ ] datetime_as_string
- [ ] delete
- [ ] diag
- [ ] diag_indices_from
- [ ] diagflat
- [x] diagonal
- [x] diff
- [ ] digitize
- [x] dot
- [ ] dsplit
- [x] dstack
- [x] ediff1d
- [x] einsum
- [ ] einsum_path
- [x] empty_like
- [x] expand_dims
- [ ] extract
- [ ] fill_diagonal
- [x] fix
- [ ] flatnonzero
- [x] flip
- [ ] fliplr
- [ ] flipud
- [x] full_like
- [ ] fv
- [ ] geomspace
- [x] gradient
- [ ] histogram
- [ ] histogram2d
- [ ] histogram_bin_edges
- [ ] histogramdd
- [ ] hsplit
- [x] hstack
- [ ] i0
- [ ] imag
- [ ] in1d
- [ ] inner
- [x] insert
- [x] interp
- [x] intersect1d
- [ ] ipmt
- [ ] irr
- [ ] is_busday
- [x] isclose
- [x] iscomplex
- [ ] iscomplexobj
- [x] isin
- [ ] isneginf
- [ ] isposinf
- [x] isreal
- [ ] isrealobj
- [ ] ix_
- [ ] kron
- [ ] lexsort
- [x] linspace
- [ ] logspace
- [ ] max
- [ ] may_share_memory
- [x] mean
- [x] median
- [x] meshgrid
- [ ] min
- [ ] min_scalar_type
- [ ] mirr
- [x] moveaxis
- [ ] msort
- [x] nan_to_num
- [x] nanargmax
- [x] nanargmin
- [x] nancumprod
- [x] nancumsum
- [x] nanmax
- [x] nanmean
- [x] nanmedian
- [x] nanmin
- [x] nanpercentile
- [ ] nanprod
- [ ] nanquantile
- [x] nanstd
- [x] nansum
- [x] nanvar
- [x] ndim
- [x] nonzero
- [ ] nper
- [ ] npv
- [x] ones_like
- [ ] outer
- [ ] packbits
- [x] pad
- [ ] partition
- [x] percentile
- [ ] piecewise
- [ ] place
- [ ] pmt
- [ ] poly
- [ ] polyadd
- [ ] polyder
- [ ] polydiv
- [ ] polyfit
- [ ] polyint
- [ ] polymul
- [ ] polysub
- [ ] polyval
- [ ] ppmt
- [ ] prod
- [ ] product
- [x] ptp
- [ ] put
- [ ] put_along_axis
- [ ] putmask
- [ ] pv
- [ ] quantile
- [ ] rank
- [ ] rate
- [x] ravel
- [ ] ravel_multi_index
- [ ] real
- [ ] real_if_close
- [ ] repeat
- [x] reshape
- [x] resize
- [x] result_type
- [ ] roll
- [x] rollaxis
- [ ] roots
- [x] rot90
- [ ] round
- [x] round_
- [ ] row_stack
- [ ] save
- [ ] savetxt
- [ ] savez
- [ ] savez_compressed
- [x] searchsorted
- [ ] select
- [ ] setdiff1d
- [ ] setxor1d
- [x] shape
- [ ] shares_memory
- [ ] sinc
- [x] size
- [ ] sometrue
- [x] sort
- [ ] sort_complex
- [ ] split
- [x] squeeze
- [x] stack
- [x] std
- [x] sum
- [x] swapaxes
- [ ] take
- [ ] take_along_axis
- [ ] tensordot
- [x] tile
- [ ] trace
- [x] transpose
- [x] trapz
- [ ] tril
- [ ] tril_indices_from
- [x] trim_zeros
- [ ] triu
- [ ] triu_indices_from
- [ ] union1d
- [ ] unique
- [ ] unpackbits
- [ ] unravel_index
- [x] unwrap
- [ ] vander
- [x] var
- [ ] vdot
- [ ] vsplit
- [x] vstack
- [x] where
- [x] zeros_like
Are you guys open for PRs on adding some operations? I feel like it could not be too hard to do it if I encounter a missing functionality.
I am asking to double check if you have a roadmap for this, just to prevent duplicate efforts.
It would be great if you can provide a PR. The list above might be a little bit outdated.