Added
-
Add the functions
day_of_year/1
andweek_of_year/1
toExplorer.Series
. -
Add
filter/2
- a macro -, andfilter_with/2
toExplorer.Series
.This change enables the usage of queries - using
Explorer.Query
- when
filtering a series. The main difference is that series does not have a
name when used outside a dataframe. So to refer to itself inside the
query, we can use the special_
variable.iex> s = Explorer.Series.from_list([1, 2, 3]) iex> Explorer.Series.filter(s, _ > 2) #Explorer.Series< Polars[1] integer [3] >
-
Add support for the
{:list, any()}
dtype, whereany()
can be any other
valid dtype. This is a recursive dtype, that can represent nested lists.
It's useful to group data together in the same series. -
Add
Explorer.Series.mode/2
to get the most common value(s) of the series. -
Add
split/2
andjoin/2
to theExplorer.Series
module.
These functions are useful to split string series into{:list, :string}
,
or to join parts of a{:list, :string}
and return a:string
series. -
Expose
ddof
option for variance, covariance and standard deviation. -
Add a new
{:f, 32}
dtype to represent 32 bits float series.
It's also possible to use the atom:f32
to create this type of series.
The atom:f64
can be used as an alias for{:f, 64}
, just like the
:float
atom. -
Add
lengths/1
andmember?/2
toExplorer.Series
.
These functions work with{:list, any()}
, whereany()
is any valid dtype.
The idea is to count the members of a "list" series, and check if a given
value is member of a list series, respectively. -
Add support for streaming parquet files from a lazy dataframe to AWS S3
compatible services.
Changed
-
Remove restriction on
pivot_wider
dtypes.
In the early days, Polars only supported numeric dtypes for the "first"
aggregation. This is not true anymore, and we can lift this restriction. -
Change
:float
dtype to be represented as{:f, 64}
. It's still possible
to use the atom:float
to create float series, but nowExplorer.Series.dtype/1
returns{:f, 64}
for float 64 bits series.
Fixed
-
Add missing implementation of
Explorer.Series.replace/3
for lazy series. -
Fix inspection of DFs and series when
limit: :infinity
is used.
Removed
-
Drop support for the
riscv64gc-unknown-linux-gnu
target.We decided to stop precompiling to this target because it's been hard to maintain it.
Ideally we should support it again in the future.
Pull requests
- Add CHANGELOG.md to hex package by @rodrigues in #713
- Add
day_of_year
andweek_of_year
by @billylanchantin in #717 - Enable variant for legacy CPUs, and activate AVX for x86_64 by @philss in #710
- Add replace/3 expressions by @DeemoONeill in #719
- Update Polars to v0.33 by @philss in #721
- Use cross version from source for certain targets by @philss in #722
- Update Polars to v0.34.2 by @philss in #724
- Add
filter
andfilter_with
toSeries
by @billylanchantin in #728 - Remove arg swap hack from
Series.add
by @billylanchantin in #731 - Add initial support to the list dtype by @philss in #725
- Add mode by @cigrainger in #453
- Remove the restriction on pivot_wider dtypes by @cigrainger in #733
- Implement
Series.split/2
&Series.join/2
by @maennchen in #735 - Update Rust nightly to 2023-11-12 by @philss in #734
- Fix DataFrame / Series inspect with
limit: :infinity
by @maennchen in #737 - Doc Code Formatting Fix by @maennchen in #736
- Expose ddof for variance and std dev by @cigrainger in #740
- Change
:float
to{:f, 64}
and add{:f, 32}
dtype by @philss in #739 - Add support for grouping into series by @costaraphael in #741
- Update Polars to v0.35 by @philss in #742
- Add shortcut atoms for float dtypes by @philss in #745
- Add
Series.length/1
andSeries.member?/2
by @costaraphael in #746 - Support streaming parquet from lazy DF to S3 by @philss in #748
- Drop support for RISCV 64 bits Linux target by @philss in #749
- Expose ddof on covariance by @cigrainger in #747
- Prepare for release v0.7.2 by @philss in #750
New Contributors
- @rodrigues made their first contribution in #713
- @maennchen made their first contribution in #735
- @costaraphael made their first contribution in #741
Full Changelog: v0.7.1...v0.7.2
Official Changelog: https://github.com/elixir-explorer/explorer/blob/main/CHANGELOG.md
Checksums
The list below if the SHA256 checksums of the precompiled artifacts.
363e9c8ecd92f2d7ff19cc977ab8fafbed8f5b5f4a9c483d98bb7441b469c5c2 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-gnu--legacy_cpu.dll.tar.gz
abb960b51f56e76d594554c1f7cd082de195a64a04f5795c75ced6126c4b66a5 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
d9c5e084f22dc2fc3a4ef808e840c192109e4cd919054f0111f7f1e4f52b97b3 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-msvc--legacy_cpu.dll.tar.gz
96a59887aff5e62b4838fb8d7189ac21b7a39bf6caae11985d8e2daea2d99f15 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
d5e384c292fca48941cd5400cf900fa39117f9cc187bfbc1d252d3a72798cd07 libexplorer-v0.7.2-nif-2.15-aarch64-apple-darwin.so.tar.gz
52c4455faec0c12789ecf2fb287f89b4f8350728092fa9de39ca24d1203d3daa libexplorer-v0.7.2-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
3524ebf3c73246eff8d3fb556786f30d063402cc212a83e3abaceae9f2ff86c5 libexplorer-v0.7.2-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
429ceebb5b7f465c66a6becc1e454ef7383fc58f6cfe081bf71fdd94eb55655b libexplorer-v0.7.2-nif-2.15-x86_64-apple-darwin.so.tar.gz
029bb5fc6e102449260b706655428cd3ef02b36bd74246375e17897c1a26815d libexplorer-v0.7.2-nif-2.15-x86_64-unknown-freebsd--legacy_cpu.so.tar.gz
d2075a364a23fc7911b3099716505d8d0df69af1aab944e527c169a96fa2ef58 libexplorer-v0.7.2-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
86b9e9b671c46cb90d0d4bf7b0f2998e59f8715d6f13fde29f8070ad756da648 libexplorer-v0.7.2-nif-2.15-x86_64-unknown-linux-gnu--legacy_cpu.so.tar.gz
fd4e095fafa0055619a49383bd8680abd6639e3d5fc114dd246e0192bcccb5e8 libexplorer-v0.7.2-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
ad3779850c36bf0ff3ca568124da8966cca25ce84912642dc13462cb9ca5a9dd libexplorer-v0.7.2-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz