Python pandas copywarning – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Python pandas copywarning – Python – Fórum – Programujte.comPython pandas copywarning – Python – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
dawid2940
Newbie
11. 2. 2020   #1
-
0
-

Ahojte potreboval by som pomôcť so skriptom. problém je v tom že potrebujem vypočítať posledný stlpec c4. ak je nejaká hodnota tak tam dá vzorec. ak však hodnota v c2 chýba tam do všetkých buniek v c4 hodí priemer z toho vzorca za všetky bunky, ktoré majú hodnotu v c2. Ďakujem 

vzorec pre c4 je (c2-c3)/c2

skript mi síce funguje ale vyhadzuje chybu A value is trying to be set on a copy of a slice from a DataFrame. a neviem ju rozlúštiť.

Toto je skript 

table['c4']= (table['c2']-table['c3'])/table['c2']
pom=table['c2']==0 | np.isnan(table['c2'])
pom2=table['c2']>0 & ~np.isnan(table['c2'])

table['c4'][pom]=np.mean(table['c4'][pom2])

Připojen obrázek.

Nahlásit jako SPAM
IP: 90.176.11.–
gna
~ Anonymní uživatel
1891 příspěvků
11. 2. 2020   #2
-
+1
-
Zajímavé

Když vybíráš data, tak výsledek může být "pohled" na původní data a změny se projeví v původních datech, nebo kopie původních dat a změny se v původních datech neprojeví. A viceméně nevíš, jestli to bude jedno nebo druhé.

Takže table['c4'] může a nemusí být kopie. A zápis do [pom] se může a nemusí projevit v table. A o tom je to varování. I pokud ti to funguje, tak to oprav.

A já si myslím, že ti to nefunguje, protože ten výraz v pom máš špatně. Pozor na prioritu operátorů. Takže takhle: 

# zavorky
pom = (table['c2'] == 0) | np.isnan(table['c2'])
...
# v tom mean by taky nemusel byt dvojity []
table.loc[pom,'c4'] = np.mean(table['c4'][pom2])
Nahlásit jako SPAM
IP: 213.211.51.–
dawid2940
Newbie
12. 2. 2020   #3
-
0
-

#2 gna
Ďakujem funguje to :D

Nahlásit jako SPAM
IP: 90.176.11.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

Python-zavirani oken v python shell — založil Daniel zita

Python — založil black evil

C++ >> Python — založil Ondra

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý