РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
6 of 687 menu

Метод copy

Метод copy применяется к DataFrame и возвращает его независимую копию. По умолчанию копия создается с глубоким копированием данных, что означает полную независимость оригинальной таблицы и ее копии. Метод принимает один необязательный параметр deep, который управляет глубиной копирования. Если deep=True, создается полноценная копия данных. Если deep=False, создается поверхностная копия, которая разделяет данные с оригиналом.

Синтаксис

df.copy([deep])

Пример

Давайте создадим глубокую копию таблицы и изменим ее, чтобы убедиться в независимости:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) df_copy = df.copy() df_copy.loc[0, 'a'] = 100 print("Original df:") print(df) print("\nCopied df:") print(df_copy)

Результат выполнения кода:

Original df: a b 0 1 10 1 2 20 2 3 30 3 4 40 4 5 50 Copied df: a b 0 100 10 1 2 20 2 3 30 3 4 40 4 5 50

Пример

Теперь создадим поверхностную копию с параметром deep=False:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) shallow_copy = df.copy(deep=False) shallow_copy.loc[0, 'a'] = 100 print("Original df after modifying shallow copy:") print(df) print("\nShallow copy:") print(shallow_copy)

Результат выполнения кода:

Original df after modifying shallow copy: a b 0 100 10 1 2 20 2 3 30 3 4 40 4 5 50 Shallow copy: a b 0 100 10 1 2 20 2 3 30 3 4 40 4 5 50

Как видим, при поверхностном копировании изменения в копии отражаются на оригинале, так как данные совместно используются.

Пример

Метод copy полезен для безопасной работы с таблицей без изменения оригинала:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) safe_df = df.copy() safe_df['c'] = safe_df['a'] + safe_df['b'] print("Original df:") print(df) print("\nModified copy:") print(safe_df)

Результат выполнения кода:

Original df: a b 0 1 10 1 2 20 2 3 30 3 4 40 4 5 50 Modified copy: a b c 0 1 10 11 1 2 20 22 2 3 30 33 3 4 40 44 4 5 50 55

Пример

Создание копии с изменением индекса:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }, index=['x', 'y', 'z', 'w', 'v']) df_copy = df.copy() df_copy.index = ['a', 'b', 'c', 'd', 'e'] print("Original df:") print(df) print("\nCopied df with new index:") print(df_copy)

Результат выполнения кода:

Original df: a b x 1 10 y 2 20 z 3 30 w 4 40 v 5 50 Copied df with new index: a b a 1 10 b 2 20 c 3 30 d 4 40 e 5 50

Смотрите также

  • класс DataFrame,
    который создает таблицу данных
  • метод head,
    который возвращает первые строки таблицы
  • метод tail,
    который возвращает последние строки таблицы
  • метод describe,
    который считает описательную статистику
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить