Closed KaterinaVokounova closed 1 year ago
Ahoj Katko,
úkol jsem prošel a všechno funguje podle očekávání. Píšu splněno, skvělá práce :-). Vlastně nemám moc co komentovat, takže jen pár drobností:
Bod 3, přidání shift předchozí vítězné strany: Abychom se později nemuseli otravovat s problematickým rokem 1976, můžeme ho vyhodit pomocí winners = winners.dropna(subset="previous_year_winner")
(odstraní řádky s prázdnou hodnotou, tedy rok 1976), případně pomocí != 1976
, jak jsi později taky využila.
Bod 4, funkce swing_states()
: Pokud nevyhodíme rok 1976, bude vhodnější ve funkci v podmínce pro rok 1976 přiřazovat jinou hodnotu než 0
, aby se rozlišily případy "1976, takže nevíme, co bylo předtím" a "žádná změna". Místo nuly můžeš tedy vracet asi nejlíp NaN
, zapisovaný jako float("nan")
. Ještě mi taky není jasné, k čemu ve funkci slouží row = row.iloc[0:]
, ale myslím, že to tam není potřeba.
Bod 6, graf: Pro zajímavost, popisky států můžeš natočit pomocí plt.xticks(rotation=45)
. V tomhle případě to teda kvůli některým dlouhým názvům čitelnosti kdovíjak nepomůže, ale zkrátka je to taky možnost:).
Celkově opravdu pěkné! :-) Kdyby něco nebylo jasné, můžeme dořešit. (A jinak odkaz v issue se hodí - snáz se dostanu k úkolu, díky:)
Ahoj Martine,
moc děkuju za super komenty. Pokud bude někdy možnost a čas probrat úkol třeba v breakout roomech, tak by to bylo fajn. Zkoušela jsem třeba u té části s kontingenční tabulkou funkci numpy.select místo funkce apply, ale nějak jsem se zamotala do syntaxu a ve výsledku ani nevím, jestli je to správná funkce pro tenhle úkol. Jinak je super, že nám k cvičením v breakout roomech vždycky ještě vytváříš ty bonusy. Sice když to vidím, tak mám pocit, že nic neumím, ale aspoň člověk vidí, kam se to dá posunout.:-D. Takže díky za to!
Ahoj Katko,
zkusil jsem numpy.select()
a taky by to šlo. Chválím zvídavost :D. Záleží, jakou variantu preferuješ - osobně mi přijde o něco pochopitelnější funkce s apply()
, ale když se select()
zapíše pro přehlednost na víc řádků, tak to taky vypadá celkem dobře:
election_result['outcome'] = numpy.select(
[election_result['party_simplified'] == election_result['previous_year_winner'],
election_result['party_simplified'] == "DEMOCRAT",
election_result['party_simplified'] == "REPUBLICAN"],
["No_change",
"R_to_D",
"D_to_R"])
Ještě se dívám, že máš repozitář pojmenovaný jako Python2023_Ukol_1. Můžeš to samozřejmě organizovat, jak chceš, ale obvykle slouží jeden repozitář pro jeden "projekt", což znamená spíš mít repozitář na celý tento kurz než na jednotlivé úkoly. A úkoly si pak organizovat třeba do složek, případně si tam dávat i další související materiály. Myslím, že by měl jít přejmenovat, případně můžeš založit nový, když budeš chtít.
A jsem rád, že se líbí bonusy:). Já tam ty bonusové funkce taky neházím jen tak zpaměti a většinou musím hledat, jak se co dělá, jaká je syntax, atd., takže netřeba se cítit méněcenně :D. Ani není potřeba si to pamatovat nebo nějak procvičovat - účelem je jen získat představu, co všechno python umí a že na plno věcí už existují připravené metody. Třeba se to někdy bude hodit.
Martine, díky moc. Já jsem možná udělala tehdy nějakou chybu v parametrech, že mi to házelo chybu. Apply je super funkce, mám ji ráda, ale už jsem ji jednou v úkolu použila, tak jsem chtěla zkusit něco jiného. Když jsem hledala, jak se dá řešit multipodmínka, tak jsem taky narazila na výborný článek, kde právě autor zkoušel asi 6 různých metod na docela velkých datech. A překvapivě mu vyšlo, že numpy.select byl suverénně nejrychlejší ve zobrazení požadovaných dat. Tak mi to přišlo zajímavé.
Repozitář opravím. Díky.
K.
pá 12. 5. 2023 v 18:20 odesílatel Martin Kovar @.***> napsal:
Ahoj Katko,
zkusil jsem numpy.select() a taky by to šlo. Chválím zvídavost :D. Záleží, jakou variantu preferuješ - osobně mi přijde o něco pochopitelnější funkce s apply(), ale když se select() zapíše pro přehlednost na víc řádků, tak to taky vypadá celkem dobře:
election_result['outcome'] = numpy.select( [election_result['party_simplified'] == election_result['previous_year_winner'], election_result['party_simplified'] == "DEMOCRAT", election_result['party_simplified'] == "REPUBLICAN"], ["No_change", "R_to_D", "D_to_R"])
Ještě se dívám, že máš repozitář pojmenovaný jako Python2023_Ukol_1. Můžeš to samozřejmě organizovat, jak chceš, ale obvykle slouží jeden repozitář pro jeden "projekt", což znamená spíš mít repozitář na celý tento kurz než na jednotlivé úkoly. A úkoly si pak organizovat třeba do složek, případně si tam dávat i další související materiály. Myslím, že by měl jít přejmenovat, případně můžeš založit nový, když budeš chtít.
A jsem rád, že se líbí bonusy:). Já tam ty bonusové funkce taky neházím jen tak zpaměti a většinou musím hledat, jak se co dělá, jaká je syntax, atd., takže netřeba se cítit méněcenně :D. Ani není potřeba si to pamatovat nebo nějak procvičovat - účelem je jen získat představu, co všechno python umí a že na plno věcí už existují připravené metody. Třeba se to někdy bude hodit.
— Reply to this email directly, view it on GitHub https://github.com/KaterinaVokounova/Python2023_Ukol_1/issues/1#issuecomment-1545990163, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7AKWWNMWE24Y45ZQVCGUX3XFZPOTANCNFSM6AAAAAAX2AEGMA . You are receiving this because you authored the thread.Message ID: @.***>
Ahoj @M-Kovar,
mám hotový úkol. Ještě se na githubu moc neorientuju, tak raději posílám i odkaz:-): https://github.com/KaterinaVokounova/Python2023_Ukol_1.git
Díky moc za kontrolu