Я получил фрагмент кода из Интернета, чтобы разделить категориальные столбцы кадра данных pandas, но мне трудно понять его, поскольку я новичок в python.факторизовать столбцы кадра данных pandas
Может кто-нибудь объяснить следующий фрагмент кода за строкой.
train
и test
- это кадры данных pandas с одинаковыми столбцами по порядку.
for (train_name, train_series), (test_name, test_series) in zip(train.iteritems(),test.iteritems()):
if train_series.dtype == 'O':
#for objects: factorize
train[train_name], tmp_indexer = pd.factorize(train[train_name])
test[test_name] = tmp_indexer.get_indexer(test[test_name])
Я особенно заинтересован в линии test[test_name] = tmp_indexer.get_indexer(test[test_name])
А также, пожалуйста, объяснить, что именно делает pd.factorize делает? Преобразует ли символы символы «А», «АА», «ААА» в разные числовые факторы?
- функция 'zip' для одновременной итерации двух вещей? Может ли он использоваться для перебора любых вещей 'x' одновременно? – user3664020
Да: zip (["a", "b"], [1, 2]) = [("a", 1), ("b", 2)] например. – IanS
Как молния, он застегивает два списка вместе. – IanS