观看本书中的这段代码:
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]
以前从未见过此位置[〜<..>]。大概了解功能,但是要确定。难道它通常只在熊猫或python中工作吗?寻找其他示例,谢谢。
答案 0 :(得分:0)
我在上面看到了一些很棒的评论,但是想确保对于初学者来说很清楚。 ~
翻转1s到0s和0s到1s。它通常与大熊猫一起使用,以表示不是。在您的示例中,~in_test_set
类似于说not in_test_set
。 ~
的优点在于它可以使用一组值,并且不仅限于单个值。参见Python wiki on bitwise operators。