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: |

During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Click “Save” ; There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. 3How to create a Telegram channel?
from us


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