Stable non-cryptographic and cryptographic hashing functions for Polars
Project description
This plugin provides stable hashing functionality across different polars versions.
Examples
Cryptographic Hashers
import polars
import polars_hash as plh
df = pl.DataFrame({
"foo":["hello_world"]
})
result = df.select(plh.col('foo').chash.sha256())
print(result)
┌──────────────────────────────────────────────────────────────────┐
│ foo │
│ --- │
│ str │
╞══════════════════════════════════════════════════════════════════╡
│ 35072c1ae546350e0bfa7ab11d49dc6f129e72ccd57ec7eb671225bbd197c8f1 │
└──────────────────────────────────────────────────────────────────┘
Non-cryptographic Hashers
df = pl.DataFrame({
"foo":["hello_world"]
})
result = df.select(plh.col('foo').nchash.wyhash())
print(result)
┌──────────────────────┐
│ foo │
│ --- │
│ u64 │
╞══════════════════════╡
│ 16737367591072095403 │
└──────────────────────┘
Geo Hashers
df = pl.DataFrame(
{"coord": [{"longitude": -120.6623, "latitude": 35.3003}]},
schema={
"coord": pl.Struct(
[pl.Field("longitude", pl.Float64), pl.Field("latitude", pl.Float64)]
),
},
)
df.with_columns(
plh.col('coord').geohash.from_coords().alias('geohash')
)
shape: (1, 2)
┌─────────────────────┬────────────┐
│ coord ┆ geohash │
│ --- ┆ --- │
│ struct[2] ┆ str │
╞═════════════════════╪════════════╡
│ {-120.6623,35.3003} ┆ 9q60y60rhs │
└─────────────────────┴────────────┘
pl.select(pl.lit('9q60y60rhs').geohash.to_coords().alias('coordinates'))
shape: (1, 1)
┌───────────────────────┐
│ coordinates │
│ --- │
│ struct[2] │
╞═══════════════════════╡
│ {-120.6623,35.300298} │
└───────────────────────┘
Create hash from multiple columns
df = pl.DataFrame({
"foo":["hello_world"],
"bar": ["today"]
})
result = df.select(plh.concat_str('foo','bar').chash.sha256())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
polars_hash-0.4.7.tar.gz
(21.1 kB
view hashes)
Built Distributions
Close
Hashes for polars_hash-0.4.7-cp38-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a86cc54465549bea8a3855bf067a5f972b33dba95f00d3f40316f92d2ce65c7a |
|
MD5 | 6ee7a90f10a5887c3b37b03011c2eb3f |
|
BLAKE2b-256 | 2e09e0aa473c35b10e2f4f4964437b7c688d6442d8d12df0ba0a3251a9a728a3 |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f625806aeed2d3e24715eda047fa7a1af9458db944907e95571429baf774d9d4 |
|
MD5 | 29d742bd5ca2a99e4a1fab2087f280c1 |
|
BLAKE2b-256 | d1589e77bcee09c4ab1adffbc5040180e8d19e1844efd6a4b7866b1001258e00 |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fc6816a2a1cece25493d229a7b4d3dd1416eb48f1b203c38dc5a4efbd072525 |
|
MD5 | f5dd847304865fdf81318f826aeb0387 |
|
BLAKE2b-256 | 72165912510e391207b542bfa08f7f4caaee892d873f2befd93c7f1f54e2fd58 |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c34957d510a6d8704066a2b06564ea4ffd5f2ea8af1635c83a7f7484b4a5373 |
|
MD5 | 7947bd329071a9911d5c348475ae1829 |
|
BLAKE2b-256 | 63726db8995b14e1f03508268ca3cef98e5c836f7f18ef0946ae3fa6388da94b |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdc40df29399a1e10537f9c45bc38ef260d13d4d0a3a173dc6a86e01ba6f4fda |
|
MD5 | 741488523d5b3ea2dfe4989f96ef76cc |
|
BLAKE2b-256 | cb0d2a621f4b63eb60180f06d0b984f068f4b7fb75d2439071b4b9c19fdbec6d |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 325bc4610604e82f5e6633f08e460ee04f33f3db8c2cc69c5627f442a5fb9fc7 |
|
MD5 | e62dc1a6d1269bb5a148b81737419213 |
|
BLAKE2b-256 | 7889fc8002e06df107774b9920a9b197e67146f6893d525a5b15fd6d8a9f2554 |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b3aab7e1d41d9d3c616e2f6f3341e10a220a77bb26d66d9b6e0e6c0989e8b31 |
|
MD5 | 04046e14f54912c090fc42fb529862a3 |
|
BLAKE2b-256 | 1f2faa530f903e3068dd56dd617188655eaa3b3bd624eaa217d4de134724e243 |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fc27202db7e609048ef2ac8c6bbf8d84b10f3cd95bb90c094e36339ac34e188 |
|
MD5 | f21b98da111a0b40c9c95bce419fbf21 |
|
BLAKE2b-256 | c5a7fc53e776a13af61e00df03a654ada3ebb94d6c1a38fa15accb319a36161b |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acedd3089b599e38b4434db3203d49f8d6831514236fcb60cdd8585551ed0e84 |
|
MD5 | 988bc8609b61d96dcfafdcead53171c5 |
|
BLAKE2b-256 | 71c7973e764b2a50352cb284f2ad221860b621283bac9a2c48ff323096032548 |
Close
Hashes for polars_hash-0.4.7-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f2acd7173f3dad70a70a1b1aa0207ee79d49152a6c89a0bef7853d9f5fa1381 |
|
MD5 | 3a9e7ef1e5a927be159aecad93802378 |
|
BLAKE2b-256 | 7ab7f0fbdfadcce51d97b006f6dd4c3e2c6e767a87938b098233b0ad666da4ac |