# Polars
[![rust docs](https://docs.rs/polars/badge.svg)](https://docs.rs/polars/latest/polars/)
[![Build and test](https://github.com/pola-rs/polars/workflows/Build%20and%20test/badge.svg)](https://github.com/pola-rs/polars/actions)
[![](https://img.shields.io/crates/v/polars.svg)](https://crates.io/crates/polars)
[![Gitter](https://badges.gitter.im/polars-rs/community.svg)](https://gitter.im/polars-rs/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
## Blazingly fast DataFrames in Rust & Python
Polars is a blazingly fast DataFrames library implemented in Rust using Apache Arrow(2) as memory model.
* Lazy | eager execution
* Multi-threaded
* SIMD
* Query optimization
* Powerful expression API
* Rust | Python | ...
To learn more, read the [User Guide](https://pola-rs.github.io/polars-book/).
```python
>>> df = pl.DataFrame(
{
"A": [1, 2, 3, 4, 5],
"fruits": ["banana", "banana", "apple", "apple", "banana"],
"B": [5, 4, 3, 2, 1],
"cars": ["beetle", "audi", "beetle", "beetle", "beetle"],
}
)
# embarrassingly parallel execution
# very expressive query language
>>> (df
.sort("fruits")
.select([
"fruits",
"cars",
lit("fruits").alias("literal_string_fruits"),
col("B").filter(col("cars") == "beetle").sum(),
col("A").filter(col("B") > 2).sum().over("cars").alias("sum_A_by_cars"), # groups by "cars"
col("A").sum().over("fruits").alias("sum_A_by_fruits"), # groups by "fruits"
col("A").reverse().over("fruits").flatten().alias("rev_A_by_fruits"), # groups by "fruits
col("A").sort_by("B").over("fruits").flatten().alias("sort_A_by_B_by_fruits") # groups by "fruits"
]))
shape: (5, 8)
┌──────────┬──────────┬──────────────┬─────┬─────────────┬─────────────┬─────────────┬─────────────┐
│ fruits ┆ cars ┆ literal_stri ┆ B ┆ sum_A_by_ca ┆ sum_A_by_fr ┆ rev_A_by_fr ┆ sort_A_by_B │
│ --- ┆ --- ┆ ng_fruits ┆ --- ┆ rs ┆ uits ┆ uits ┆ _by_fruits │
│ str ┆ str ┆ --- ┆ i64 ┆ --- ┆ --- ┆ --- ┆ --- │
│ ┆ ┆ str ┆ ┆ i64 ┆ i64 ┆ i64 ┆ i64 │
╞══════════╪══════════╪══════════════╪═════╪═════════════╪═════════════╪═════════════╪═════════════╡
│ "apple" ┆ "beetle" ┆ "fruits" ┆ 11 ┆ 4 ┆ 7 ┆ 4 ┆ 4 │
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ "apple" ┆ "beetle" ┆ "fruits" ┆ 11 ┆ 4 ┆ 7 ┆ 3 ┆ 3 │
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ "banana" ┆ "beetle" ┆ "fruits" ┆ 11 ┆ 4 ┆ 8 ┆ 5 ┆ 5 │
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ "banana" ┆ "audi" ┆ "fruits" ┆ 11 ┆ 2 ┆ 8 ┆ 2 ┆ 2 │
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ "banana" ┆ "beetle" ┆ "fruits" ┆ 11 ┆ 4 ┆ 8 ┆ 1 ┆ 1 │
└──────────┴──────────┴──────────────┴─────┴─────────────┴─────────────┴─────────────┴─────────────┘
```
## Performance 🚀🚀
Polars is very fast, and in fact is one of the best performing solutions available.
See the results in [h2oai's db-benchmark](https://h2oai.github.io/db-benchmark/).
## Rust setup
You can take latest release from `crates.io`, or if you want to use the latest features/ performance improvements
point to the `master` branch of this repo.
```toml
polars = { git = "https://github.com/pola-rs/polars", rev = "<optional git tag>" }
```
## Rust version
Required Rust version `>=1.52`
## Python users read this!
Polars is currently transitioning from `py-polars` to `polars`. Some docs may still refer the old name.
Install the latest polars version with:
`$ pip3 install polars`
## Documentation
Want to know about all the features Polars support? Read the docs!
#### Rust
* [Documentation (master branch)](https://pola-rs.github.io/polars/polars/index.html).
* [User Guide](https://pola-rs.github.io/polars-book/)
#### Python
* installation guide: `$ pip3 install polars`
* [User Guide](https://pola-rs.github.io/polars-book/)
* [Reference guide](https://pola-rs.github.io/polars/py-polars/html/reference/index.html)
## Contribution
Want to contribute? Read our [contribution guideline](https://github.com/pola-rs/polars/blob/master/CONTRIBUTING.md).
## \[Python\] compile py-polars from source
If you want a bleeding edge release or maximal performance you should compile **py-polars** from source.
This can be done by going through the following steps in sequence:
1. install the latest [Rust compiler](https://www.rust-lang.org/tools/install)
2. `$ pip3 install maturin`
4. Choose any of:
* Very long compile times, fastest binary: `$ cd py-polars && maturin develop --rustc-extra-args="-C target-cpu=native" --release`
* Shorter compile times, fast binary: `$ cd py-polars && maturin develop --rustc-extra-args="-C codegen-units=16 -C lto=thin -C target-cpu=native" --release
`
Note that the Rust crate implementing the Python bindings is called `py-polars` to distinguish from the wrapped
Rust crate `polars` itself. However, both the Python package and the Python module are named `polars`, so you
can `pip install polars` and `import polars` (previously, these were called `py-polars` and `pypolars`).
## Arrow2
Polars has transitioned to [arrow2](https://crates.io/crates/arrow2). Arrow2 is a faster and safer implementation of the arrow spec.
Arrow2 also has a more granular code base, helping to reduce the compiler bloat.
There is still a maintained `arrow-rs` branch for users who want to use another backend.
## Acknowledgements
Development of Polars is proudly powered by
[![Xomnia](https://raw.githubusercontent.com/pola-rs/polars-static/master/sponsors/xomnia.png)](https://www.xomnia.com/)
## Sponsors
* [Xomnia](https://www.xomnia.com/)
* [JetBrains](https://www.jetbrains.com/company/brand/img/jetbrains_logo.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源分类:Python库 所属语言:Python 资源全名:polars-0.10.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
Python库 | polars-0.10.1.tar.gz (339个子文件)
gzipped.csv 49B
.flake8 169B
.gitignore 36B
.gitignore 28B
sidebar-nav-bs.html 406B
api_redirect.html 318B
Makefile 1KB
Makefile 638B
Makefile 360B
CHANGELOG.md 36KB
README.md 8KB
README.md 205B
PKG-INFO 8KB
polars_logo.png 3KB
frame.py 115KB
series.py 88KB
expr.py 71KB
frame.py 32KB
test_df.py 31KB
functions.py 20KB
io.py 20KB
test_series.py 18KB
test_lazy.py 17KB
construction.py 12KB
convert.py 8KB
main.py 7KB
datatypes.py 6KB
test_io.py 6KB
_html.py 5KB
whenthen.py 3KB
conf.py 3KB
utils.py 3KB
functions.py 2KB
cfg.py 2KB
test_interop.py 1KB
string_cache.py 1KB
conftest.py 1KB
__init__.py 1011B
test_sort.py 791B
test_window.py 739B
setup.py 554B
__init__.py 231B
__init__.py 202B
__init__.py 128B
datatypes.py 31B
functions.py 31B
series.py 28B
frame.py 27B
lazy.py 26B
__init__.py 0B
groupby-datagen.R 2KB
mod.rs 68KB
mod.rs 61KB
dsl.rs 60KB
series.rs 58KB
series.rs 54KB
mod.rs 52KB
mod.rs 47KB
test.rs 46KB
planner.rs 42KB
numeric.rs 40KB
frame.rs 38KB
dsl.rs 36KB
series_trait.rs 35KB
csv.rs 34KB
mod.rs 34KB
macros.rs 32KB
mod.rs 30KB
projection_pushdown.rs 30KB
dataframe.rs 30KB
mod.rs 29KB
comparison.rs 29KB
utils.rs 26KB
dates.rs 26KB
conversion.rs 25KB
fmt.rs 23KB
mod.rs 23KB
mod.rs 23KB
aggregations.rs 22KB
alp.rs 22KB
floats.rs 22KB
csv.rs 22KB
datatypes.rs 22KB
arithmetic.rs 21KB
pivot.rs 20KB
resample.rs 19KB
rolling_window.rs 19KB
eager.rs 19KB
apply.rs 19KB
mod.rs 19KB
mod.rs 19KB
mod.rs 18KB
aggregate.rs 18KB
mod.rs 17KB
take.rs 17KB
boolean.rs 16KB
sort.rs 16KB
vector_hasher.rs 16KB
utf8.rs 16KB
parser.rs 16KB
共 339 条
- 1
- 2
- 3
- 4
资源评论
挣扎的蓝藻
- 粉丝: 14w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功