FACTORY_DATAFRAMES Telegram 19
🚨 Обращаете ли вы внимание на предупреждения при работе с датафреймами?

SettingWithCopy в Pandas — это предупреждение, возникающее, когда ты пытаешься изменить фрагмент датафрейма, и непонятно, изменится ли оригинал или только его копия.

Я же работал в отдельном датафрейме, почему мои данные изменились в исходном датафрейме тоже? 👀

Представь такую ситуацию:
Ты берёшь кусочек большой таблицы и меняешь значения в нём:
df_small = df_big[df_big['A'] > 5]
df_small['B'] = 100


Pandas не может понять, хочешь ли ты изменить только кусочек отдельно или изменить исходную таблицу. Поэтому возникает предупреждение:
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.


Оно говорит тебе:
Ты точно хочешь изменить этот кусок отдельно? Или хотел поменять исходную таблицу?


Это предупреждение важно, потому что часто неясно, работаешь ты с копией (отдельным объектом в памяти) или представлением (view — ссылается на те же данные). Поведение зависит от внутренней реализации Pandas и устройства памяти твоего датафрейма, что делает результат неочевидным и непредсказуемым для нас 👀

Почему это проблема?
- Если это копия, то изменения никак не повлияют на исходный датафрейм.
- Если это представление (view), то изменения применятся и к исходной таблице тоже ‼️

Без явного указания, что именно ты хочешь сделать, Pandas теряется, а это может привести к неожиданным ошибкам.

Как избежать SettingWithCopy?
Самое простое и правильное решение — явно указать Pandas, что ты хочешь делать копию данных:
df_small = df_big[df_big['A'] > 5].copy()
df_small['B'] = 100


Используя .copy(), ты чётко показываешь, что хочешь создать отдельную копию, и Pandas больше не будет показывать предупреждения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩143🥰107100🔥89🎉83👍68👏34



tgoop.com/factory_dataframes/19
Create:
Last Update:

🚨 Обращаете ли вы внимание на предупреждения при работе с датафреймами?

SettingWithCopy в Pandas — это предупреждение, возникающее, когда ты пытаешься изменить фрагмент датафрейма, и непонятно, изменится ли оригинал или только его копия.

Я же работал в отдельном датафрейме, почему мои данные изменились в исходном датафрейме тоже? 👀

Представь такую ситуацию:
Ты берёшь кусочек большой таблицы и меняешь значения в нём:

df_small = df_big[df_big['A'] > 5]
df_small['B'] = 100


Pandas не может понять, хочешь ли ты изменить только кусочек отдельно или изменить исходную таблицу. Поэтому возникает предупреждение:
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.


Оно говорит тебе:
Ты точно хочешь изменить этот кусок отдельно? Или хотел поменять исходную таблицу?


Это предупреждение важно, потому что часто неясно, работаешь ты с копией (отдельным объектом в памяти) или представлением (view — ссылается на те же данные). Поведение зависит от внутренней реализации Pandas и устройства памяти твоего датафрейма, что делает результат неочевидным и непредсказуемым для нас 👀

Почему это проблема?
- Если это копия, то изменения никак не повлияют на исходный датафрейм.
- Если это представление (view), то изменения применятся и к исходной таблице тоже ‼️

Без явного указания, что именно ты хочешь сделать, Pandas теряется, а это может привести к неожиданным ошибкам.

Как избежать SettingWithCopy?
Самое простое и правильное решение — явно указать Pandas, что ты хочешь делать копию данных:
df_small = df_big[df_big['A'] > 5].copy()
df_small['B'] = 100


Используя .copy(), ты чётко показываешь, что хочешь создать отдельную копию, и Pandas больше не будет показывать предупреждения.

BY Фабрика DataFrames 🐼




Share with your friend now:
tgoop.com/factory_dataframes/19

View MORE
Open in Telegram


Telegram News

Date: |

Channel login must contain 5-32 characters Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. More>> Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. How to Create a Private or Public Channel on Telegram?
from us


Telegram Фабрика DataFrames 🐼
FROM American