In [1]:
# 以下のコマンドでインストールして下さい。
# $ pip install pandas-validator
import pandas_validator as pv
In [2]:
import pandas as pd
import numpy as np
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))
In [5]:
# 12は大きいためこのseriesはバリデーションを通りません
series = pd.Series([0, 4, 8, 12])
print(validator.is_valid(series))
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))
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))
In [9]:
# DataFrameの行数が5行でないためバリデーションを通りません。
df = pd.DataFrame({'label1': [0, 1, 2], 'label2': [5.0, 6.0, 7.0]})
print(validator.is_valid(df))
In [ ]: