Равенство в датафрейме Python - PullRequest
0 голосов
/ 22 марта 2019

Я выполняю некоторые операции в df 4000 столбцов и 17520 строк. Я должен повторить эти операции 100 раз с 5 различными случайно выбранными столбцами из df. Я использую следующую функцию:

    for i in range(0,100):
    rand_cols = np.random.permutation(df.columns)[0:5]
    df2 = df[rand_cols]
    df2[:,:] *= 2

У меня следующий вопрос:

Влияет ли операция в df2, которая является 5 случайными столбцами df, на столбцы в исходном df?

Спасибо

1 Ответ

1 голос
/ 22 марта 2019

Нет, это не так.Точно так же, как Валентино в предложенных комментариях, если вы попробуете это с каким-то фиктивным DataFrame, вы увидите, что он не изменится:

df=pd.DataFrame({'c':range(50)})
df2=df.loc[df['c']%2==0,:]
df2*=10

если вы посмотрите на df, вы увидите, что он не изменился.

Причина в том, что df2 сохраняет представление df, но не сами данные

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...