πŸ”„ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ столбца Π² Pandas: Π»Π΅Π³ΠΊΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ `astype()` Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Pandas, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ столбца. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
data = {'Имя': ['Анна', 'ΠœΠ°Ρ€ΠΈΡ', 'Иван', 'АлСксСй'],
        'Возраст': [25, 30, 18, 42],
        'Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°': [50000, 60000, 35000, 80000]}

df = pd.DataFrame(data)

# ИзмСнСниС Ρ‚ΠΈΠΏΠ° столбца "Возраст" Π½Π° строковый
df['Возраст'] = df['Возраст'].astype(str)

print(df.dtypes)
Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали DataFrame с трСмя столбцами (Имя, Возраст, Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°) ΠΈ измСняли Ρ‚ΠΈΠΏ столбца "Возраст" Π½Π° строковый с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `astype()`. Π’Ρ‹Π²ΠΎΠ΄ `df.dtypes` ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ столбца. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ использовании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `astype()`. НапримСр, для измСнСния столбца Π½Π° числовой Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `int` ΠΈΠ»ΠΈ `float`. Π£Π΄Π°Ρ‡ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Pandas!

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

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² pandas

ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² pandas - это ваТная опСрация ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Она позволяСт привСсти значСния ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² pandas ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°.

Π¨Π°Π³ 1: ОзнакомлСниС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π²Π°ΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ ΠΈΡ… Π² pandas ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ просмотр:

import pandas as pd

# Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°
data = pd.read_csv('file.csv')

# ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… пяти строк Π΄Π°Π½Π½Ρ‹Ρ…
print(data.head())

Π¨Π°Π³ 2: ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ .astype() Π² pandas. НапримСр, Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'age' Π½Π° цСлочислСнный:

# ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'age' Π½Π° int
data['age'] = data['age'].astype(int)

Аналогично ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ float, bool, datetime ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ int Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Π¨Π°Π³ 3: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

ПослС измСнСния Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ опСрация ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. МоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ просмотр Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½:

# ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ
print(data.dtypes)

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ список всСх ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ вмСстС с ΠΈΡ… Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² измСнСния Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² pandas:

# ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'height' Π½Π° float
data['height'] = data['height'].astype(float)

# ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'is_adult' Π½Π° bool
data['is_adult'] = data['is_adult'].astype(bool)

# ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 'date' Π½Π° datetime
data['date'] = pd.to_datetime(data['date'])

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для измСнСния Ρ‚ΠΈΠΏΠ° Π½Π° datetime использован ΠΌΠ΅Ρ‚ΠΎΠ΄ pd.to_datetime().

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

ИзмСнСниС Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² pandas - это ваТная опСрация ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΊΠ°Π·Π°Π», ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ .astype() ΠΈ pd.to_datetime() для измСнСния Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, поэтому это Π²Π°ΠΆΠ½Ρ‹ΠΉ шаг Π² вашСм аналитичСском процСссС.

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

Python Pandas Tutorials: CHANGE column data type in Data Frame (Pandas)

CHANGE COLUMN DTYPE | How to change the datatype of a column in Pandas (2020)

How to change datatype of a column/series in pandas (Python)

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

πŸ”„ Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ столбца Π² Pandas: Π»Π΅Π³ΠΊΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² столбцС pandas: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ инструкции