def testSplitDataframe(self):
df = pd.DataFrame({"X": range(11),
"Y": np.concatenate((np.zeros(6), np.ones(5))),
"Z": np.concatenate((np.zeros(3), np.ones(8)))})
metric = metrics.Distribution("X", ["Z"])
output = core.Analyze(df).split_by(["Y"]).calculate(metric).run()
correct = pd.DataFrame(
np.array([0.2, 0.8, 0.0, 1.0]),
columns=["X Distribution"],
index=pd.MultiIndex(levels=[[0.0, 1.0], [0.0, 1.0]],
labels=[[0, 0, 1, 1], [0, 1, 0, 1]],
names=["Y", "Z"]))
self.assertTrue(all(output.index == correct.index) and
all(output.columns == correct.columns) and
np.all(abs(output.values - correct.values) < 1e-10))
评论列表
文章目录