polarsの日本向けのplugin library
Project description
polars-japanese: Polars 日本向け拡張ライブラリ (Polars Japanese Extension Library)
Polars DataFrame/Expression API に、日本語処理や日本固有の操作に関連する機能を追加する拡張ライブラリです。
(This is an extension library that adds functionalities related to Japanese text processing and Japan-specific operations to the Polars DataFrame/Expression API.)
概要 (Overview)
polars-japanese は、データ分析ライブラリ Polars の強力な機能を活用しつつ、日本語特有のデータ処理(全角/半角変換、漢数字変換、和暦変換、祝日判定など)を容易に行えるように設計されています。 Polars の Expression API を拡張し、.ja アクセサを通じて直感的にこれらの機能を利用できます。
ドキュメント (Documentation)
https://polars-japanese.readthedocs.io/ja/latest/
インストール (Installation)
pip install polars-japanese
使い方 (Usage)
polars-japanese をインポートすると、Polars の Expression API に .ja アクセサが追加されます。
import polars as pl
import polars_japanese
from datetime import date
df = pl.DataFrame({
"kanji_num": ["千二百三十四", "五十六", None],
"wareki_str": ["令和6年1月1日", "平成1年12月31日", "昭和45年12月04日"],
"seireki_date": [date(2024, 4, 18), date(1989, 1, 8), date(1970, 10, 10)],
"text_zen": ["Polars", "データ", "123"],
})
df = df.select(
# 漢数字変換
pl.col("kanji_num").ja.to_number().alias("num_from_kanji"),
# 和暦/西暦変換
pl.col("wareki_str").ja.to_datetime().alias("seireki_from_wareki"),
# 祝日判定
pl.col("seireki_date").ja.is_holiday().alias("is_holiday"),
# 全角/半角変換
pl.col("text_zen").ja.to_half_width().alias("to_half"),
pl.col("text_zen").ja.normalize().alias("normalized"),
)
print(df)
# ┌────────────────┬─────────────────────┬────────────┬─────────┬────────────┐
# │ num_from_kanji ┆ seireki_from_wareki ┆ is_holiday ┆ to_half ┆ normalized │
# │ --- ┆ --- ┆ --- ┆ --- ┆ --- │
# │ i64 ┆ date ┆ bool ┆ str ┆ str │
# ╞════════════════╪═════════════════════╪════════════╪═════════╪════════════╡
# │ 1234 ┆ 2024-01-01 ┆ false ┆ Polars ┆ Polars │
# │ 56 ┆ 1989-12-31 ┆ false ┆ データ ┆ データ │
# │ null ┆ 1970-12-04 ┆ true ┆ 123 ┆ 123 │
# └────────────────┴─────────────────────┴────────────┴─────────┴────────────┘
df.ja.write_csv("output_sjis.csv", encoding="shift_jis")
主な機能 (Features)
- 全角/半角変換・正規化:
ja.to_half_width(): 半角文字に変換。ja.to_full_width(): 全角文字に変換。ja.normalize(): Unicode正規化 (NFKC) を行い、さらに日本語テキストでよく問題になる記号(ハイフン類など)やスペースを統一的に処理。
- 漢数字変換: 文字列中の漢数字 ↔ アラビア数字 変換 (Powered by kanjize)。
ja.to_number(): 漢数字(例: "千二百三十四")を整数(例: 1234)に変換ja.to_kanji(): 数値を漢数字に変換。config引数でKanjizeConfigurationを指定できます。
- 和暦/西暦変換: 和暦 ↔ 西暦日付 変換 (Powered by japanera)。
ja.to_wareki(): 西暦日付/文字列を和暦文字列(例: "令和6年10月10日")に変換。format引数で出力フォーマットを指定できます。ja.to_datetime(): 和暦文字列を西暦日付に変換。format引数で入力フォーマットを指定できます。
- 祝日判定: (Powered by jpholiday)。
ja.is_holiday(): 日付が祝日であればTrueを返す。ja.is_business_day(): 日付が営業日(土/日/祝日)であればTrueを返す。
- 日本語の曜日取得: Date/Datetime型の列から、日本語の曜日("月曜日"など)を取得。
ja.to_weekday_name():format引数で"%A"(フル形式、例: "月曜日") または"%a"(短縮形式、例: "月") を指定できます。
- 都道府県関連処理:
ja_pref.to_code(): 都道府県名(漢字、ひらがな、カタカナ、ローマ字、コード文字列)を都道府県コード(整数)に変換。ja_pref.to_kanji(): 正式な都道府県名(漢字表記)に変換。ja_pref.to_hiragana(): ひらがな表記に変換。ja_pref.to_katakana(): カタカナ表記に変換。ja_pref.to_romaji(): ローマ字表記(大文字)に変換。ja_pref.to_region(): 地方名(例: 「関東」「近畿」)に変換。
- CSVエンコーディング指定出力: DataFrameを指定したエンコーディングでCSVファイルに出力します。
DataFrame.ja.write_csv(path, encoding="shift_jis", **kwargs): DataFrameをCSVファイルに書き込みます。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file polars_japanese-0.2.0.tar.gz.
File metadata
- Download URL: polars_japanese-0.2.0.tar.gz
- Upload date:
- Size: 105.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe2a8397f09cc7cf81007ae387a8e29d8c1177a0f2913b7c4a8aa7c1cf7335eb
|
|
| MD5 |
6278f73ee6c55f9ccc69600dd8d526a2
|
|
| BLAKE2b-256 |
85980d5fc4f73e3297b2ffd181504452cfebd1435a1d9eadc7b926919946d6d7
|
File details
Details for the file polars_japanese-0.2.0-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: polars_japanese-0.2.0-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f596d3ca666054c0a9227c1eb5726856bd55f5d40e7aedb3030806debe0e1e3
|
|
| MD5 |
075b99835f44ba348454d67a7700d31e
|
|
| BLAKE2b-256 |
8f79aa26704404fe1576a85632ca1a084cfc768c651074cb17cab1f9bd337606
|
File details
Details for the file polars_japanese-0.2.0-cp38-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: polars_japanese-0.2.0-cp38-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.8+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
379370ab4f0b46c7b562c25c80ffb6291e33fb97e5dca0d30cf4a276b68a1c0e
|
|
| MD5 |
1c16ddf4fc2eae4a356e082e64393953
|
|
| BLAKE2b-256 |
842f99da3c9279dcd9c6badb81fb856b2189f399c42233d8aab25c7068f1ec2f
|
File details
Details for the file polars_japanese-0.2.0-cp38-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: polars_japanese-0.2.0-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4048f447f45e2f33ed10042deff2002c2b2c9442c752c5e6be5bcefd0585dd60
|
|
| MD5 |
a23f7b4851da95d684f8376cbfb388a7
|
|
| BLAKE2b-256 |
0286089f7046ad738bcea189043ca929e02c55068fc6f8624009f51ecaf26c8d
|