• Register

Problem s pandas modulom

0 votes
122 views

KODA, KI DELUJE:

def pretvorba_več_koordinat(seznam_širin, seznam_dolžin):
    splitted_širine = []
    for koordinata_širine in seznam_širin:
        splitted_širine.append(koordinata_širine.split(":"))
    splitted_dolžine = []
    for koordinata_dolžine in seznam_dolžin:
        splitted_dolžine.append(koordinata_dolžine.split(":"))
    decimalne_stopinje_širine = []
    for širina in splitted_širine:
        stopinje_širine = int(širina[0])
        minute_širine = float(širina[1])
        sekunde_širine = float(širina[2])
        if stopinje_širine < 0:
            decimalne_stopinje_širine.append(stopinje_širine - minute_širine/60 - sekunde_širine/3600)
        elif stopinje_širine > 0:
            decimalne_stopinje_širine.append(stopinje_širine + minute_širine/60 + sekunde_širine/3600)
    decimalne_stopinje_dolžine = []
    for dolžina in splitted_dolžine:
        stopinje_dolžine = int(dolžina[0])
        minute_dolžine = float(dolžina[1])
        sekunde_dolžine = float(dolžina[2])
        if stopinje_dolžine < 0:
            decimalne_stopinje_dolžine.append(stopinje_dolžine - minute_dolžine/60 - sekunde_dolžine/3600)
        elif stopinje_dolžine > 0:
            decimalne_stopinje_dolžine.append(stopinje_dolžine + minute_dolžine/60 + sekunde_dolžine/3600)
    print(decimalne_stopinje_širine)
    print(decimalne_stopinje_dolžine)

 

seznam_širin = ["52:59:37.1", "17:59:15.5", "-8:46:23.5", "-52:57:37.8", "77:59:54.7"]
seznam_dolžin = ["-153:08:52.0", "-164:28:16.8", "-170:33:00.5", "14:14:48.8", "-50:13:41.0"]

 

pretvorba_več_koordinat(seznam_širin, seznam_dolžin)

 

raw_data = {"širina": [52.99363888888889, 17.98763888888889, -8.773194444444446, -52.9605,      77.99852777777778], "dolžina": [-153.14777777777778, -164.47133333333335, -170.5501388888889, 14.246888888888888, -50.22805555555556]}

 

tabela_pozicij = pd.DataFrame(raw_data, columns=["širina", "dolžina"])
tabela_pozicij.to_csv("/Users/macbookairm1/Downloads/PiNM/Projekt/raw_data.csv")
tabela_pozicij

PRAVILEN OUTPUT:

 širinadolžina
052.993639-153.147778
117.987639-164.471333
2-8.773194-170.550139
3-52.96050014.246889
477.998528-50.228056
   
   
   
   
   
   

------------------------------------------------------------------------------------------------------------------------------------------------------------

KODA, KI NE DELUJE:

def pretvorba_širin(seznam_širin):
    splitted_širine = []
    for koordinata_širine in seznam_širin:
        splitted_širine.append(koordinata_širine.split(":"))
    decimalne_stopinje_širine = []
    for širina in splitted_širine:
        stopinje_širine = int(širina[0])
        minute_širine = float(širina[1])
        sekunde_širine = float(širina[2])
        if stopinje_širine < 0:
            decimalne_stopinje_širine.append(stopinje_širine - minute_širine/60 - sekunde_širine/3600)
        elif stopinje_širine > 0:
            decimalne_stopinje_širine.append(stopinje_širine + minute_širine/60 + sekunde_širine/3600)
    
def pretvorba_dolžin(seznam_dolžin):
    splitted_dolžine = []
    for koordinata_dolžine in seznam_dolžin:
        splitted_dolžine.append(koordinata_dolžine.split(":"))
    decimalne_stopinje_dolžine = []
    for dolžina in splitted_dolžine:
        stopinje_dolžine = int(dolžina[0])
        minute_dolžine = float(dolžina[1])
        sekunde_dolžine = float(dolžina[2])
        if stopinje_dolžine < 0:
            decimalne_stopinje_dolžine.append(stopinje_dolžine - minute_dolžine/60 - sekunde_dolžine/3600)
        elif stopinje_dolžine > 0:
            decimalne_stopinje_dolžine.append(stopinje_dolžine + minute_dolžine/60 + sekunde_dolžine/3600)

 

seznam_širin = ["52:59:37.1", "17:59:15.5", "-8:46:23.5", "-52:57:37.8", "77:59:54.7"]
seznam_dolžin = ["-153:08:52.0", "-164:28:16.8", "-170:33:00.5", "14:14:48.8", "-50:13:41.0"]

 

decimalne_stopinje_širin = pretvorba_širin(seznam_širin)
decimalne_stopinje_dolžin = pretvorba_dolžin(seznam_dolžin)

 

raw_data = {"širina": pretvorba_širin(seznam_širin), "dolžina": pretvorba_dolžin(seznam_dolžin)}

 

tabela_pozicij = pd.DataFrame(raw_data, columns=["širina", "dolžina"])
tabela_pozicij.to_csv("/Users/macbookairm1/Downloads/PiNM/Projekt/raw_data.csv")
tabela_pozicij

NEPRAVILEN OUTPUT:

 širinadolžina

------------------------------------------------------------------------------------------------------------------------------------------------------------

Zanima me kaj je narobe, da mi ne prikaže celotne tabele tako kot v zgornji kodi, ki deluje pravilno.

Hvala za odgovor.

asked May 1, 2022 by jc0945 (580 points)

1 Answer

+1 vote
 
Best answer

Najlažje vidite kaj je narobe tako, da si izpišete raw_data. 

Glede na to, da izgleda da funkciji pretvorba_širin in pretvorba_dolžin ne vrneta ničesar, predvidevam, je v raw_data zapisan None in ne podatki, ki jih želite. V prvem primeru, ste podatke ročno vnesli v raw_data, zato tam dobite pričakovan rezultat.

answered May 3, 2022 by kzaletelj (8,300 points)
selected May 5, 2022 by jc0945
...