Объединение двух фреймов данных в 2 столбца

Что вы спрашиваете, почему это:

def func(a=[], b = 2):
    pass

не является внутренне эквивалентным этому:

def func(a=None, b = None):
    a_default = lambda: []
    b_default = lambda: 2
    def actual_func(a=None, b=None):
        if a is None: a = a_default()
        if b is None: b = b_default()
    return actual_func
func = func()

, за исключением случая прямого вызова func (None , None), которые мы будем игнорировать.

Другими словами, вместо оценки параметров по умолчанию, почему бы не сохранить их каждый из них и оценить их при вызове функции?

Один ответ, вероятно, прямо там - он фактически превратит каждую функцию с параметрами по умолчанию в закрытие. Даже если это все скрыто в интерпретаторе, а не полномасштабное закрытие, данные должны быть где-то сохранены. Он будет медленнее и будет использовать больше памяти.

0
задан marc_s 31 March 2019 в 07:07
поделиться

1 ответ

Вы можете использовать join вместо слияния.

код SCALA

val newDF = df1
               .join(df2, Seq("source", "destination"), "left_outer")

код PYTHON

newDF = df1
           .join(df2, ['source', 'destination'], 'left_outer')
0
ответ дан A. Görünücü 31 March 2019 в 07:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: