def testShuffledTwoDimensionalCumulativeDistribution(self):
df = pd.DataFrame({"X": [1, 1, 1, 2, 2, 3, 4],
"Y": [1, 2, 0, 1, 1, 1, 1],
"Z": [1, 0, 0, 0, 0, 0, 0]})
weights = np.array([1, 1, 1, 1, 1, 1, 1])
metric = metrics.CumulativeDistribution("X", ["Y", "Z"])
output = metric(df.iloc[np.random.permutation(7)], weights)
correct = pd.DataFrame(
np.array([1 / 14., 12 / 14., 13 / 14., 1.]),
columns=[""],
index=pd.MultiIndex(levels=[[0, 1, 2], [0, 1]],
labels=[[0, 1, 1, 2], [0, 0, 1, 0]],
names=["Y", "Z"]))
self.assertTrue(all(output.index == correct.index) and
all(output.columns == correct.columns) and
all(abs(output.values - correct.values) < 1e-10))
评论列表
文章目录