<jupyter_start><jupyter_text>pandas-validator examplepandas-validatorの使用例。<jupyter_code># 以下のコマンドでインストールして下さい。
# $ pip install pandas-validator
import pandas_validator as pv
import pandas as pd
import numpy as np<jupyter_output><empty_output><jupyter_text>Series Validator<jupyter_code>validator = import pv.IntegerSeriesValidator(min_value=0, max_value=10)
# バリデーションを通る例
series = pd.Series([0, 3, 6, 9])
print(validator.is_valid(series))
# 12は大きいためこのseriesはバリデーションを通りません
series = pd.Series([0, 4, 8, 12])
print(validator.is_valid(series))<jupyter_output>False<jupyter_text>DataFrame ValidatorpandasのデータフレームオブジェクトのバリデーションをdjangoのModelやFormクラスのように定義できます。<jupyter_code># バリデータの定義
class SampleDataFrameValidator(pv.DataFrameValidator):
    row_num = 5
    column_num = 2
    label1 = pv.IntegerColumnValidator('label1', min_value=0, max_value=10)
    label2 = pv.FloatColumnValidator('label2', min_value=0, max_value=10)

validator = SampleDataFrameValidator()
# バリデーションを通る例
df = pd.DataFrame({'label1': [0, 1, 2, 3, 4], 'label2': [5.0, 6.0, 7.0, 8.0, 9.0]})
print(validator.is_valid(df))
# このケースではdf['label1']の値が0~10に収まっていないため、バリデーションを通りません。
df = pd.DataFrame({'label1': [11, 12, 13, 14, 15], 'label2': [5.0, 6.0, 7.0, 8.0, 9.0]})
print(validator.is_valid(df))
# DataFrameの行数が5行でないためバリデーションを通りません。
df = pd.DataFrame({'label1': [0, 1, 2], 'label2': [5.0, 6.0, 7.0]})
print(validator.is_valid(df))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.14757554462403374, 'fraction_numerical': 0.05692199578355587, 'mean_word_length': 7.9, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '615481', 'license': 'MIT', 'n_tokens_mistral': 720, 'n_tokens_neox': 666, 'n_words': 95, 'path': 'example/pandas_validator_example_ja.ipynb', 'repo_name': 'emlid/pandas-validator', 'size': '1423'}