1

看书中的这段代码:

def split_train_test_by_id(data, test_ratio, id_column, hash=hashlib.md5):
ids = data[id_column]
in_test_set = ids.apply(lambda id_: test_set_check(id_, test_ratio, hash))
return data.loc[~in_test_set], data.loc[in_test_set]

以前从未见过这个 loc[~<..>] 。可能了解功能,但要确定。它也只适用于 pandas 或一般的 python 吗?

4

1 回答 1

0

我在上面看到了一些很棒的评论,但想确保它对初学者来说很清楚。将~1s 翻转为 0s,将 0s 翻转为 1s。它通常与 pandas 一起使用来表示不。在您的示例中,~in_test_set类似于说not in_test_set. 的优点~是它适用于一组值,并且不限于单个值。请参阅有关位运算符的 Python wiki

于 2019-05-14T15:11:31.747 回答