Значение и реализация loc [~ * value *] - PullRequest
1 голос
/ 14 мая 2019

Просмотр этого куска кода в книге:

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 [~ <..>]. Вероятно, понимая функциональность, однако хочу быть уверенным. Также это работает только в пандах или питоне в целом? Ищите любые другие примеры, заранее спасибо.

1 Ответ

0 голосов
/ 14 мая 2019

Я видел несколько замечательных комментариев выше, но хотел убедиться, что это понятно для новичка. ~ переворачивает от 1 до 0 и от 0 до 1. Это обычно используется с пандами, чтобы обозначать нет. В вашем примере ~in_test_set похоже на выражение not in_test_set. Преимущество ~ заключается в том, что он работает с набором значений и не ограничивается одним значением. См. Python вики о побитовых операторах .

...