<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Sapientia adattudomány képzéssorozat
első rész
Step1:  Romániai lakosság letöltése INSSE-ról
Step2:  Wikipédia táblázatok letöltése
Step3:  Ha html5llib not found hibaüzenetet kapunk, akkor egy konzol (Command Prompt, Parancssor) megnyitásával és a conda install html5lib vagy pip install html5lib parancsokal telepítjük. Ezután újra kell indítani a Jupyter-t.
Step4:  A táblázatlistából nincsen szükség csak a 5. (tehát 4-es indexű, 0-tól kezdődik) táblázatra. Ezt mentsük el az gf változóba, aminek a típusa egy pandas dataframe lesz.
Step5:  Csak az 1-től 4-ig terjedő sorok van szükség, a többit eldobjuk.
Ezután a 0. sort beállítjuk indexnek. Miután ez megtörtént, ezt is eldobjuk a sorok közül.
Step6:  Transzponáljuk a táblázatot
Step7:  D3plus-ba betölthető json formátumban elmentjük a táblázat tartalmát.  
Ezt úgy érhetük el, hogy végigmegyunk a táblázat értékein minden sorban majd minden oszlopban. Vigyázzunk a magyar karaterekre, ezért fontos az unicode rendszerbe való konvertálás.
A táblázatban tárlot értékek string-ek, ezeket egész számokká konvertáljuk, figyelembe véve a pozitív/negatív értékek formátumát.
Step8:  Az eredmény
Step9:  Elmentjük a fájlt
<ASSISTANT_TASK:>
Python Code:
import pandas as pd
import html5lib
import matplotlib.pyplot as plt
%matplotlib inline 
Explanation: Sapientia adattudomány képzéssorozat
első rész: adatvizualizáció
Bővítőcsomagok importálása:
End of explanation
csv_path='exportPivot_POP105A.csv' #SAJAT HELY CSV FILE
df=pd.read_csv(csv_path)
df.head()
Explanation: Romániai lakosság letöltése INSSE-ról:
Előzetesen letöltött fájlútvonalt használunk.
End of explanation
wiki_path="http://hu.wikipedia.org/wiki/Csíkszereda"
Explanation: Wikipédia táblázatok letöltése
End of explanation
df2=pd.read_html(wiki_path)
df2[4]
Explanation: Ha html5llib not found hibaüzenetet kapunk, akkor egy konzol (Command Prompt, Parancssor) megnyitásával és a conda install html5lib vagy pip install html5lib parancsokal telepítjük. Ezután újra kell indítani a Jupyter-t.
End of explanation
gf=df2[4]
gf
Explanation: A táblázatlistából nincsen szükség csak a 5. (tehát 4-es indexű, 0-tól kezdődik) táblázatra. Ezt mentsük el az gf változóba, aminek a típusa egy pandas dataframe lesz.
End of explanation
ef=gf[1:4]
ef.columns=ef.loc[ef.index[0]]
ef=ef.drop(1)
ef=ef.set_index(ef.columns[0])
ef=ef.drop(u'Év',axis=1)
ef
Explanation: Csak az 1-től 4-ig terjedő sorok van szükség, a többit eldobjuk.
Ezután a 0. sort beállítjuk indexnek. Miután ez megtörtént, ezt is eldobjuk a sorok közül.
End of explanation
rf=ef.T
rf.head(2)
Explanation: Transzponáljuk a táblázatot:
End of explanation
#uj=[[] for i in range(len(rf.columns))]
d3=[]
ujnevek=['ujmax','ujmin']
for k in range(len(rf.index)):
    i=rf.index[k]
    seged={}
    for j in range(len(rf.loc[i])):
        uc=unicode(rf.loc[i][j])
        if ',' in uc:
            ertek=-int(uc[1:-2])
        else:
            ertek=int(uc[0:-1])
        #uj[j].append(ertek)
        seged[ujnevek[j]]=ertek
    seged["honap"]=rf.index[k]
    seged["honap2"]=k+1
    d3.append(seged)
Explanation: D3plus-ba betölthető json formátumban elmentjük a táblázat tartalmát.  
Ezt úgy érhetük el, hogy végigmegyunk a táblázat értékein minden sorban majd minden oszlopban. Vigyázzunk a magyar karaterekre, ezért fontos az unicode rendszerbe való konvertálás.
A táblázatban tárlot értékek string-ek, ezeket egész számokká konvertáljuk, figyelembe véve a pozitív/negatív értékek formátumát.
End of explanation
d3
Explanation: Az eredmény:
End of explanation
import json
file('uj.json','w').write(json.dumps(d3))
Explanation: Elmentjük a fájlt:
End of explanation
<END_TASK>