🐼 Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ копию pandas? ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π³Π°ΠΉΠ΄ с ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌΠΈ инструкциями | Π›Π΅Π³ΠΊΠΎΠ΅ руководство ΠΏΠΎ созданию Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π° pandas

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ копию pandas

Для создания ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° pandas ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ copy(). НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ исходного DataFrame
df_original = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ DataFrame
df_copy = df_original.copy()

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠΏΠΈΠΈ
print(df_copy)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм исходный DataFrame df_original ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ copy() для создания Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΠΈ df_copy. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π²Π° нСзависимых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° DataFrame.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ копию pandas

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² pandas ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, особСнно ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ затрагивая ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы создания ΠΊΠΎΠΏΠΈΠΈ pandas DataFrame ΠΈΠ»ΠΈ Series.

1. ΠœΠ΅Ρ‚ΠΎΠ΄ .copy()

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ создания ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° pandas - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ .copy(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ создаСт Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ копию Ρ„Ρ€Π΅ΠΉΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ сСрии, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .copy() Π½Π° ΡƒΠΆΠ΅ скопированном ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ создаст Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ копию.


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ DataFrame
original_df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ копию ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ DataFrame с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .copy()
copied_df = original_df.copy()
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° pandas DataFrame, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания (=)

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ создания ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° pandas - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания (=). Однако, ΠΏΡ€ΠΈ использовании этого способа, Π±ΡƒΠ΄Π΅Ρ‚ создано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ повСрхностноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ измСнСния Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ.


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ DataFrame
original_df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ копию ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ DataFrame с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания (=)
copied_df = original_df
    

Π’ этом случаС измСнСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° нСзависимая копия, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ .copy().

3. ΠœΠ΅Ρ‚ΠΎΠ΄ .clone()

На самом Π΄Π΅Π»Π΅, Π² pandas Π½Π΅Ρ‚ прямого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .clone() для создания ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ .clone() ΠΌΠ΅Π½Π΅Π΅ распространСн ΠΈ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import pandas as pd

# ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ .clone()
def clone(self):
    return self.copy()

# ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ .clone() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° DataFrame
pd.DataFrame.clone = clone

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ DataFrame
original_df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ копию ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ DataFrame с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .clone()
cloned_df = original_df.clone()
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ .clone(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΊΠΎΠΏΠΈΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ….

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы создания ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² pandas. ΠœΠ΅Ρ‚ΠΎΠ΄ .copy() являСтся самым ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ способом, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ создаСт Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ копию с ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания (=) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для создания повСрхностной ΠΊΠΎΠΏΠΈΠΈ, Π½ΠΎ Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны с Π΅Π³ΠΎ использованиСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ случайно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ клонирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² pandas, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свой собствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ .clone().

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Pandas Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ β„–1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame ΠΈ запись Π² CSV

Pandas Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ β„–4. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со столбцами DataFrame

Pandas - Ρ€Π°Π·Π±ΠΎΡ€ всСх основных возмоТностСй Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ датасСтС

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΡΠ±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ датасСта Π² pandas? πŸ“ŠπŸΌ

🐼 Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ копию pandas? ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π³Π°ΠΉΠ΄ с ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌΠΈ инструкциями | Π›Π΅Π³ΠΊΠΎΠ΅ руководство ΠΏΠΎ созданию Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π° pandas

Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pandas Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅?