pandas-validator example

pandas-validatorの使用例。


In [1]:
# 以下のコマンドでインストールして下さい。
# $ pip install pandas-validator
import pandas_validator as pv

In [2]:
import pandas as pd
import numpy as np

Series Validator


In [3]:
validator = import pv.IntegerSeriesValidator(min_value=0, max_value=10)

In [4]:
# バリデーションを通る例
series = pd.Series([0, 3, 6, 9])
print(validator.is_valid(series))


True

In [5]:
# 12は大きいためこのseriesはバリデーションを通りません
series = pd.Series([0, 4, 8, 12])
print(validator.is_valid(series))


False

DataFrame Validator

pandasのデータフレームオブジェクトのバリデーションをdjangoのModelやFormクラスのように定義できます。


In [6]:
# バリデータの定義
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()

In [7]:
# バリデーションを通る例
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))


True

In [8]:
# このケースでは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))


False

In [9]:
# DataFrameの行数が5行でないためバリデーションを通りません。
df = pd.DataFrame({'label1': [0, 1, 2], 'label2': [5.0, 6.0, 7.0]})
print(validator.is_valid(df))


False

In [ ]: