loc[~*value*]的含义和实现
Meaning and implementation of loc[~*value*]
看书中这段代码:
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]
以前从未见过这个位置[~<..>]。可能了解功能,但想要确定。另外它一般只在 pandas 或 python 中工作吗?
我在上面看到了一些很好的评论,但想确保它对初学者来说是清楚的。 ~
将 1 翻转为 0,将 0 翻转为 1。它通常与 pandas 一起使用,表示不。在您的示例中,~in_test_set
类似于说 not in_test_set
。 ~
的优点是它适用于一组值,而不限于单个值。见 Python wiki on bitwise operators.
看书中这段代码:
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]
以前从未见过这个位置[~<..>]。可能了解功能,但想要确定。另外它一般只在 pandas 或 python 中工作吗?
我在上面看到了一些很好的评论,但想确保它对初学者来说是清楚的。 ~
将 1 翻转为 0,将 0 翻转为 1。它通常与 pandas 一起使用,表示不。在您的示例中,~in_test_set
类似于说 not in_test_set
。 ~
的优点是它适用于一组值,而不限于单个值。见 Python wiki on bitwise operators.