DataFrame для Python-панд, передача по значению или передача по ссылке

Если я передаю фрейм данных в функцию и изменяю ее внутри функции, передается ли она по значению или по ссылке?

Я запускаю следующий код

a = pd.DataFrame({'a':[1,2], 'b':[3,4]})
def letgo(df):
    df = df.drop('b',axis=1)
letgo(a)

значениеa не изменяется после вызова функции. Означает ли это, что это передача по значению?

Я также попробовал следующее

xx = np.array([[1,2], [3,4]])
def letgo2(x):
    x[1,1] = 100
def letgo3(x):
    x = np.array([[3,3],[3,3]])

Оказываетсяletgo2() меняетсяxx а такжеletgo3() не. Почему это так?

Ответы на вопрос(6)

Ваш ответ на вопрос