πŸ“‹ Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² pandas: простой Π³Π°ΠΉΠ΄ с шагами ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² pandas, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ copy() ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π΅ Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
df = pd.DataFrame({'Колонка1': [1, 2, 3, 4, 5]})

# Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ copy()
new_column = df['Колонка1'].copy()

# Или ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
new_column = df['Колонка1']

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

Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² pandas

Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ pandas сущСствуСт нСсколько способов копирования ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ DataFrame Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΏΠ°Ρ€Ρƒ ΠΈΠ· Π½ΠΈΡ…, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ это довольно просто.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ copy() позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ DataFrame. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ DataFrame с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΏΠΈΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования:


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
df1 = pd.DataFrame({'Имя': ['Алиса', 'Π‘ΠΎΠ±', 'ΠšΡ€ΠΈΡΡ‚ΠΈΠ½Π°'],
                    'Возраст': [25, 30, 35]})

# ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ 'Возраст' Π² Π½ΠΎΠ²Ρ‹ΠΉ DataFrame
df2 = df1['Возраст'].copy()

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ DataFrame
print(df2)
    

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΠ΄Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ df2 Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ копия ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'Возраст' ΠΈΠ· DataFrame df1.

2. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания

Π”Ρ€ΡƒΠ³ΠΈΠΌ способом копирования ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ являСтся использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания. Π’ этом случаС ΠΌΡ‹ создаСм Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ DataFrame ΠΈ присваиваСм Π΅ΠΉ значСния ΠΈΠ· исходной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π­Ρ‚ΠΎΡ‚ способ Π±ΠΎΠ»Π΅Π΅ прямой ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹ΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
df1 = pd.DataFrame({'Имя': ['Алиса', 'Π‘ΠΎΠ±', 'ΠšΡ€ΠΈΡΡ‚ΠΈΠ½Π°'],
                    'Возраст': [25, 30, 35]})

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ 'Копия_Возраст' ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ значСния ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'Возраст'
df1['Копия_Возраст'] = df1['Возраст']

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ DataFrame с Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ
print(df1)
    

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΠ΄Π° Π² DataFrame df1 появится новая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 'Копия_Возраст', содСрТащая значСния ΠΈΠ· исходной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'Возраст'.

3. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· loc

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ копирования ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² pandas - использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° loc. ΠœΠ΅Ρ‚ΠΎΠ΄ loc позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² DataFrame с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠΊ индСксов ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame
df1 = pd.DataFrame({'Имя': ['Алиса', 'Π‘ΠΎΠ±', 'ΠšΡ€ΠΈΡΡ‚ΠΈΠ½Π°'],
                    'Возраст': [25, 30, 35]})

# ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ значСния ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'Возраст' Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ 'Копия_Возраст' с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° loc
df1.loc[:, 'Копия_Возраст'] = df1['Возраст']

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ DataFrame с Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ
print(df1)
    

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΠ΄Π° Π² DataFrame df1 Π±ΡƒΠ΄Π΅Ρ‚ создана новая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° 'Копия_Возраст', содСрТащая значСния ΠΈΠ· исходной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'Возраст'.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов копирования ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ pandas. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для своих Π·Π°Π΄Π°Ρ‡. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ copy() для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ копирования ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ присваивания для простого копирования значСния ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ loc для Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ копирования Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.

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

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

Π”Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌΡ‹ pandas. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ столбцов

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… Π² Pandas | Анатолий ΠšΠ°Ρ€ΠΏΠΎΠ² | karpov.courses

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

πŸ”’ Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ срСднСС ΠΏΠΎ столбцу Π² pandas? 🐼

πŸ“‹ Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² pandas: простой Π³Π°ΠΉΠ΄ с шагами ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

πŸ”Ž Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ Π² pandas ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ быстро ΠΈ эффСктивно?