🐼 Pandas inf: ΠΊΠ°ΠΊ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ? Π›Π΅Π³ΠΊΠΈΠ΅ способы ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ нСобходимости использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pandas

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ значСния Π² столбцС inf Π² pandas, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace() с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ np.inf. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import pandas as pd
import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
data = {'A': [1, 2, np.inf, 4, 5],
        'B': [np.inf, 2, 3, 4, 5]}
df = pd.DataFrame(data)

# Π—Π°ΠΌΠ΅Π½Π° значСния np.inf Π½Π° NaN
df = df.replace(np.inf, np.nan)

print(df)

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

Как ΡƒΠ±Ρ€Π°Ρ‚ΡŒ NaN значСния Π² Pandas DataFrame: pandas.inf

Когда ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Pandas DataFrame, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΡ‹ сталкиваСмся с ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ значСниями (NaN). Π­Ρ‚ΠΈ значСния ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·-Π·Π° отсутствия Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ошибок Π² процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Если ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ошибкам Π² Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Для удалСния NaN Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Pandas DataFrame ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ dropna(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ строки ΠΈΠ»ΠΈ столбцы, содСрТащиС NaN значСния.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° dropna() для удалСния строк, содСрТащих NaN значСния:

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame с NaN значСниями
data = {'Column1': [1, 2, NaN, 4, 5],
        'Column2': [NaN, 2, 3, 4, 5]}
df = pd.DataFrame(data)

# УдаляСм строки с NaN значСниями
df = df.dropna()

print(df)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм DataFrame с NaN значСниями Π² столбцах "Column1" ΠΈ "Column2". Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ dropna() для удалСния строк с NaN значСниями. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ DataFrame, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС строки с NaN значСниями Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ столбцы, содСрТащиС NaN значСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ axis ΠΌΠ΅Ρ‚ΠΎΠ΄Π° dropna(). УстановитС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ axis=1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ столбцы:

import pandas as pd

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame с NaN значСниями
data = {'Column1': [1, 2, NaN, 4, 5],
        'Column2': [NaN, 2, 3, 4, 5]}
df = pd.DataFrame(data)

# УдаляСм столбцы с NaN значСниями
df = df.dropna(axis=1)

print(df)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ удаляСм столбцы с NaN значСниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ axis=1. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ DataFrame, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС столбцы с NaN значСниями Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

ΠšΡ€ΠΎΠΌΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° dropna(), Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ fillna() ΠΈ replace() для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ NaN Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠœΠ΅Ρ‚ΠΎΠ΄ fillna() позволяСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ NaN значСния Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ значСниями, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, срСдним ΠΈΠ»ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Π½ΠΎΠΉ, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ replace() позволяСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ NaN значСния Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² fillna() ΠΈ replace():

import pandas as pd
import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ DataFrame с NaN значСниями
data = {'Column1': [1, 2, NaN, 4, 5],
        'Column2': [NaN, 2, 3, 4, 5]}
df = pd.DataFrame(data)

# ЗамСняСм NaN значСния срСдним
df = df.fillna(df.mean())

print(df)

# ЗамСняСм NaN значСния Π½Π° -1
df = df.replace(np.nan, -1)

print(df)

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ fillna(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ NaN значСния срСдним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ столбцов. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ NaN значСния Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ срСдним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ столбцов.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ replace(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ NaN значСния Π½Π° -1. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ NaN значСния Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° -1.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² dropna(), fillna() ΠΈ replace() Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ NaN значСния Π² Pandas DataFrame ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡ… Π² соотвСтствии с вашими Π½ΡƒΠΆΠ΄Π°ΠΌΠΈ.

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

#9. Π‘ΡƒΠ»Π΅Π²Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, значСния inf ΠΈ nan | NumPy ΡƒΡ€ΠΎΠΊΠΈ

ПРАКВИКА Pandas | NaN, Null | Π Π°Π±ΠΎΡ‚Π° с пропусками Π² Pandas | ΠœΠΠ¨Π˜ΠΠΠžΠ• ΠžΠ‘Π£Π§Π•ΠΠ˜Π•

#28. Pandas: What is a missing value? NaN, NaT, None, Inf in Python - 14 | Tutorial

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

🐼 Pandas inf: ΠΊΠ°ΠΊ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ? Π›Π΅Π³ΠΊΠΈΠ΅ способы ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ нСобходимости использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pandas