» »

Nasveti za python

Nasveti za python

DROP TABLE ::

Za narediti imam eno programersko nalogo v Pythonu, ki pa jo ne znam rešiti prvič zato, ker se Pythona šele (zelo zelo počasi) učim (ja, slabo ga zastopam), potem pa še samo razmišljanje glede posameznih podnalog od katerih sem naredil izračun evklidske razdalje (pa še s to sem imel probleme zaradi vhodnih parametrov self,row1,row2 in data (inicializiramo v konstruktorju). V ostalih jeziki je to no brainer recimo
public double rowDistance( int [] row1, int [] row2)
{

   double rowdistance =0;
 //recimo, da je vse pefektno za to if-ov ne bom vključeval
  for(int i=0;i<row1.length;i++)
  {
      rowdistance += ((row1[i]-row2[i])^2)
  }
  return Math.Sqrt(rowdistance)
}

v Pythonu sem sploh rabil videti source, da sem sploh skapiral, da row1 ni klasičen array, ampak index
Koda na voljo:
def row_distance(self, r1,r2)
    return math.sqrt( sum((a-b)**2
                             for a,b in zip(self.data[r1], self.data[r2])))

oz. moja predelana
def row_distance(self, r1, r2)
      rowdistance = 0

        for a,b in zip(self.data[r1],self.data[r2]):
            rowdistance = rowdistance + ((a - b)**2)

        return  math.sqrt(rowdistance)

Saj jasno mi je kaj se dogaja v 1. py kodi, ampak napisal pa v 2. tednih in 2 mini tutorialih tako nikoli nebi, niti zapis "self.data[r1]" ne bi pokužil takoj.
Naloga je s področja data mininga, kjer pa scipy in sklearn ne prideta v poštev (izrecno dovoljene so razne math, numpy, itertools,...). Tema te naloge pa je hierarchical clustering.
Disclaimer: Jasno mi je da me čaka delo in to ogromno dela, bi pa vseeno prosil za nek nasvet, saj bi se pythona naučil, da bi ga lahko uporabljal v kakšni drugih caseih (blender skripte). Trenutno študiram knjigo od prof. Demšarja.

Tody ::

M.B. ::

Ni mi sicer jasno zakaj bi r1 in r2 bla indexa ne pa polja. Če daš list kot parameter v funkcijo boš list dobil v funkciji.
in self.data mora tudi od nekod prit. Tak da ti verjento uporabljaš neko knjižnico al pa framework.

def row_print(l):
    for i in l:
        print(i)
a=range(5)
row_print(a)


To izpiše celotno polje a (0,1,2,3,4,).

Python je zelo fajn za strojno učenje ampak če hočeš performance rabiš vsaj numpy, kjer to rešiš v eni vrstici.
Everyone started out as a newbie.
Sadly only a handful ever progress past that point.

WizzardOfOZ ::

zakaj ne vzameš kake knjige od O'Reilly: Programming python ali pa še bolje Dawson: Python Programming for the Absolute Beginner. Slednja je recimo odlična za čiste začetnike.
Demšar se meni zdi preveč abstrakten in če nimaš osnov programiranja, malo težak za začetnika.

cistnov ::

Kaj je prednost Pythona proti C#? Menda je lažji. Kaj pa z enin ne moreš izdelati, medtem ko z drugim lahko?

WizzardOfOZ ::

Največja razlika je da se C# statično prevaja (dobiš exe datoteko ven, ki se izvaja), python pa je dinamičen skriptni jezik

DROP TABLE ::

M.B. je izjavil:

Ni mi sicer jasno zakaj bi r1 in r2 bla indexa ne pa polja. Če daš list kot parameter v funkcijo boš list dobil v funkciji.
in self.data mora tudi od nekod prit. Tak da ti verjento uporabljaš neko knjižnico al pa framework.


def row_print(l):
for i in l:
print(i)
a=range(5)
row_print(a)


To izpiše celotno polje a (0,1,2,3,4,).

Python je zelo fajn za strojno učenje ampak če hočeš performance rabiš vsaj numpy, kjer to rešiš v eni vrstici.

Imam en class, kjer moram dopolniti funkcije kot je ta. Podatke preberem iz enega stolpca Excel datoteke (self.data), jih dam v array, kjer je en element [int, string , ...] (dejanska datoteka) oz. [string, int,int, int...] (datoteka za preverjanje delovanja osnovne funkcionalnosti).

WizzardOfOZ je izjavil:

zakaj ne vzameš kake knjige od O'Reilly: Programming python ali pa še bolje Dawson: Python Programming for the Absolute Beginner. Slednja je recimo odlična za čiste začetnike.
Demšar se meni zdi preveč abstrakten in če nimaš osnov programiranja, malo težak za začetnika.

ker imam premalo časa, privzema se, da smo v enem tednu napravili doktorat iz pythona.

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

vba array

Oddelek: Programiranje
12849 (542) Vazelin
»

c# object[,] to object[][], excel itd.

Oddelek: Programiranje
7616 (436) mihies
»

[Java] Urejanje baze z JTable

Oddelek: Programiranje
8943 (727) vonNeumann
»

Podvajanje vrstic v excelu

Oddelek: Pomoč in nasveti
51058 (950) ales85
»

[ASP.NET]

Oddelek: Programiranje
61235 (1089) OmegaM

Več podobnih tem