In [1]:
import pandas as pd, numpy as np, requests
In [2]:
from bs4 import BeautifulSoup
#from pygeocoder import Geocoder
#Geocoder.geocode('547605, ROMANIA')
In [8]:
#ha megvan mar az adatfjal, betoltes, ha nincs akkor az alabbi cella futtasaval generalhatoak
data=[pd.DataFrame]*7
data[6]=pd.read_excel('data.xls')
In [22]:
#adatok letoltese az omnibusrol ,eltarthat par percig

regions=['also-haromszek','felso-haromszek','csikszek','udvarhelyszek','marosszek','gyergyoszek']
data=[pd.DataFrame() for i in range(len(regions))]
drop=[[0,3,4,5],[0,3,4,5],[0,3,4,5,6],[0,3,4,5],[0,3,4,5],[0,3,4,5]]
for i in range(len(regions)):
    data[i]=pd.read_html('http://www.omnibus.ro/index.php/hu/szekelyfoldi-top-cegek/'+regions[i]+'/',infer_types=False)[3].drop(drop[i],axis=1).ix[1:]
    r=requests.get('http://www.omnibus.ro/index.php/hu/szekelyfoldi-top-cegek/'+regions[i]+'/')
    soup = BeautifulSoup(r.content)
    links=soup.findAll('table')[3].findAll('a')
    for j in range(len(links)):
        print i,j
        try:
            r=requests.get('http://www.omnibus.ro/'+links[j]['href'])
            soup = BeautifulSoup(r.content)
            cim=repr(soup.findAll('table')[6])
            cim=cim[str.find(cim,'Cím')+10:str.find(cim,', <a href="#terkep">')-3]
            #data[i].ix[j+1,'cim']=cim
            coord_start=str.find(r.content,'GLatLng')
            coord_end=coord_start+str.find(r.content[coord_start:],')')
            coord=np.array(r.content[coord_start+len('GLatLng')+1:coord_end].split(','),dtype=float)
            data[i].ix[j+1,'lat']=coord[0]
            data[i].ix[j+1,'lon']=coord[1]
            kulcs=repr(soup.findAll('table')[6])
            kulcs=kulcs[str.find(kulcs,'Kulcsszavak')+10:str.find(kulcs,'<b>Webcím')]
            soup = BeautifulSoup(kulcs)
            tags=''
            for k in soup.findAll('a'): tags+=k.get_text()+','
            data[i].ix[j+1,'tags']=tags[0:len(tags)-1]
        except: print 'ERROR'
In [13]:
#data corrections
data[3][2][4]='150.000.000'
data[5]=data[5].ix[1:50]
data[1][1][38]='PRODUCTIE AGRICO M SRL'
data[0]['lat'][24]=45.867885
data[0]['lon'][24]=25.791051
data[1]['lat'][37]=46.002350
data[1]['lon'][37]=26.128932
data[1]['lat'][41]=45.991198
data[1]['lon'][41]=26.136709
data[2]['lat'][19]=46.571644
data[2]['lon'][19]=25.983610
data[2]['lat'][22]=46.313360
data[2]['lon'][22]=25.839070
data[3]['lat'][17]=46.386801
data[3]['lon'][17]=25.215629
data[4]['lat'][39]=46.386801
data[4]['lon'][39]=24.569582
data[0]['tags'][24]=u'CÉGTANÁCSADÁS'
data[0]['tags'][44]=u'TEJFELDOLGOZÁS'
data[1]['tags'][37]=u'ÁRUFUVAROZÁS'
data[1]['tags'][41]=u'ÉPÍTKEZÉS'
data[2]['tags'][19]=u'ERDŐKITERMELÉS'
data[3]['tags'][17]=u'TOP Cégek,'
In [14]:
data.append(pd.DataFrame())
data[6]=pd.concat(data[i] for i in range(6))
In [10]:
cat={}
    
cat[u'ÉLELMISZER - NAGYKERESKEDÉSEK,VEGYI ÁRU,GYÜMÖLCS ÉS ZÖLDSÉG,NAGYBANI KERESKEDELEM, NAGYBANI ELADÁS']=\
cat[u'PÉKTERMÉKEK']=\
cat[u'ÉLELMISZER ADALÉKANYAGOK,[email protected]']=\
cat[u'ÉLELMISZER-NAGYKERESKEDÉS,IPARI VEGYESÜZLETEK,ITALNAGYKERESKEDÉS,NAGYKERESKEDELEM']=\
cat[u'ÉLELMISZERÜZLETEK,VEGYES ÜZLETEK']=\
cat[u'ÉLELMISZER – ÜZLETEK']=\
cat[u'HÚSFELDOLGOZÁS,HÚS ÉS HENTESÁRU']=\
cat[u'ÉLELMISZERÜZLETEK,VEGYES ÜZLETEK,[email protected]']=\
cat[u'HENTESÁRU-LERAKAT,ÉLELMISZER - NAGYKERESKEDÉSEK']=\
cat[u'SAJTGYÁRTÁS,TEJFELDOLGOZÁS,TEJTERMÉKEK']=\
cat[u'ÉLELMISZER-NAGYKERESKEDÉS,ITAL NAGYKERESKEDÉS,SÖR-NAGYKERESKEDÉS,SZESZESITAL NAGYKERESKEDÉS']=\
cat[u'ÉLELMISZER-NAGYKERESKEDÉS,ITAL NAGYKERESKEDÉS,SÖR-NAGYKERESKEDÉS,']=\
cat[u'ÉLELMISZER-KERESKEDELEM,ÉLELMISZERÜZLETEK,ÁRUHÁZAK,SZUPERMARKETEK']=\
cat[u'ÉLELMISZERIPAR']=\
cat[u'ÉLELMISZER – KERESKEDELEM,SZESZES ITALOK,[email protected]']=\
cat[u'ÉLELMISZEREK,HÚSÜZLETEK']=\
cat[u'KERESKEDELEM,SZÁRAZ TÉSZTA,TÉSZTA FORGALMAZÁS,TÉSZTA GYÁRTÁS,LISZT FORGALMAZÁS,MALMI TERMÉKEK']=\
cat[u'ÉLELMISZEREK,KERESKEDELEM']=\
cat[u'ÉLELMISZEREK,[email protected]']=\
cat[u'ÉLELMISZER-NAGYKERESKEDÉS,[email protected]']=\
cat[u'TEJFELDOLGOZÁS,TEJTERMÉKEK']=\
cat[u'KENYÉRÜZLETEK,PÉKTERMÉKEK']=\
cat[u'ÉLELMISZEREK,SZUPERMARKETEK,[email protected]']=\
cat[u'KENYÉR ÉS PÉKÁRU,PÉKSÜTEMÉNYEK']=\
cat[u'ÉLELMISZER']=\
cat[u'SAJTGYÁRTÁS']=\
cat[u'HÚSFELDOLGOZÁS,HÚS ÉS HENTESÁRU,VÁGÓHÍD,[email protected]']=\
cat[u'TEJFELDOLGOZÁS']=\
cat[u'HÚSFELDOLGOZÁS']=\
cat[u'PÉKÁRU ÉS PÉKSÜTEMÉNYEK,KENYÉR ÉS PÉKÁRU,CUKRÁSZTERMÉKEK,SÜTEMÉNYEK ÉS TORTÁK']=\
cat[u'ÉLELMISZERIPAR – FÓLIAGYÁRTÁS']=\
cat[u'ÉLELMISZER-NAGYKERESKEDÉS']=\
cat[u'ÉLELMISZER-NAGYKERESKEDÉS,[email protected]']=\
cat[u'ÉLELMISZEREK']=\
cat[u'HÚSBOLTOK,VÁGÓHÍD']=\
cat[u'ÉLELMISZEREK,HÚS ÉS HENTESÁRU,SZUPERMARKETEK']=0#elemiszeripar

cat[u'ALUMÍNIUM FÉLGYÁRTMÁNYOK,INOX LEMEZEK,MŰANYAG LEMEZEK,POLIKARBONÁT LEMEZEK,RÉZ ÉS SÁRGARÉZ']=\
cat[u'ACÉLTERMÉKEK,SZÍNESFÉM-KERESKEDELEM,BETONACÉL MEGMUNKÁLÁS, ERESZCSATORNA RENDSZEREK']=\
cat[u'FÉMMEGMUNKÁLÁS']=\
cat[u'AJTÓ-ABLAKGYÁRTÁS,NYÍLÁSZÁRÓK']=\
cat[u'MŰANYAG TERMÉKEK']=\
cat[u'AUTÓALKATRÉSZ GYÁRTÁS']=\
cat[u'KÁBELEK']=\
cat[u'FÉMMEGMUNKÁLÁS,KERTI BÚTOROK,MATRICAGYÁRTÁS,ÖNTŐMINTÁK']=\
cat[u'CSOMAGOLÓANYAGOK,NYOMDÁK']=\
cat[u'CSOMAGOLÓANYAGOK-GYÁRTÁS ÉS FORGALMAZÁS']=\
cat[u'ACÉLTERMÉKEK,ÉPÍTŐANYAG-LERAKATOK']=\
cat[u'ALUMÍNIUM FÉLGYÁRTMÁNYOK,INOX LEMEZEK,MŰANYAG LEMEZEK,POLIKARBONÁT ']=\
cat[u'FÉMMEGMUNKÁLÁS,MUNKAGÉPEK']=\
cat[u'ERESZCSATORNA RENDSZEREK']=\
cat[u'ÉPÜLETGÉPÉSZET,IPARI SZELLŐZTETŐK']=\
cat[u'AJTÓ-ABLAKVASALAT']=\
cat[u'Harta,0741-33165,,AMBALAJE']=\
cat[u'MŰANYAG TERMÉKEK']=\
cat[u'AJTÓ-ABLAKGYÁRTÁS,NYÍLÁSZÁRÓK']=\
cat[u'CSOMAGOLÁSTECHNIKA,RAKLAPOK']=\
cat[u'KÖTŐELEMEK']=\
cat[u'VASALATOK GYÁRTÁSA,[email protected]']=\
cat[u'FÉMBÚTOROK,FÉMSZERKEZETEK']=\
cat[u'POLISZTIRÉN GYÁRTÁS']=\
cat[u'CNC MEGMUNKÁLÁS']=\
cat[u'VÍZ- és CSATORNAHÁLÓZAT,HIDROFOROK GYÁRTÁSA']=\
cat[u'CSOMAGOLÓANYAGOK,MŰANYAG FÓLIÁK GYÁRTÁSA']=\
cat[u'']=\
cat[u'JÁTÉKOK és JÁTÉKSZEREK GYÁRTÁSA,FAJÁTÉKOK']=\
cat[u'KOPORSÓKÉSZÍTÉS']=\
cat[u'NYOMDÁK']=\
cat[u'GYEREKMATRACOK,JÁTÉKOK és JÁTÉKSZEREK,CSÚSZDÁK']=\
cat[u'MÜANYAGFRÖCCSENTÉS']=\
cat[u'JÁTÉKOK és JÁTÉKSZEREK GYÁRTÁSA,FAJÁTÉKOK']=\
cat[u'DOBOZOK']=11#kisfem es muanyag

cat[u'KOMPRESSZOROK']=\
cat[u'AUTÓ – KERESKEDELEM']=\
cat[u'ELEKTRONIKAI CIKKEK,HÁZTARTÁSI CIKKEK,HŰTÉSTECHNIKA,IPARI VEGYESÜZLETEK,[email protected]']=\
cat[u'AKKUMULÁTOROK,AUTÓ- és MOTOROLAJAK,AUTÓGUMI-KERESKEDELEM,AUTÓKOZMETIKA,GUMIABRONCS-NAGYKERESKEDÉS,MOTOROLAJAK,GUMIABRONCSOK']=\
cat[u'AUTÓ – ALKATRÉSZEK']=\
cat[u'MUNKAGÉPEK']=\
cat[u'VEGYES ÜZLETEK,[email protected]']=\
cat[u'IPARI GÉPEK,[email protected]']=\
cat[u'DOHÁNYÁRUK,[email protected]']=\
cat[u'SZESZES ITALOK,[email protected]']=\
cat[u'INFRASZAUNA,SZAUNÁK,KERTI BÚTOROK']=\
cat[u'VEGYESÜZLETEK,[email protected]']=\
cat[u'ELEKTRONIKAI CIKKEK,HÁZTARTÁSI CIKKEK,HŰTÉSTECHNIKA,IPARI']=\
cat[u'AUTÓ - MÁRKAKÉPVISELET,']=\
cat[u'AUTÓ - MÁRKAKÉPVISELET']=\
cat[u'SZESZESITAL NAGYKERESKEDÉS']=\
cat[u'AJÁNDÉKTÁRGYAK']=\
cat[u'HÁZTARTÁSI GÉPEK']=\
cat[u'HOBBI- ÉS BARKÁCSBOLTOK,IPARI TERMÉKEK,[email protected]']=\
cat[u'SZESZES ITALOK']=\
cat[u'HŰTÉSTECHNIKA,IPARI HŰTŐK']=\
cat[u'AUTÓ - MÁRKAKÉPVISELET']=\
cat[u'AUTÓ – GUMIABRONCSOK,AUTÓ – GUMIABRONCS-NAGYKERESKEDÉS,GUMIABRONCSOK']=\
cat[u'ITAL NAGYKERESKEDÉS']=\
cat[u'ORVOSI BERENDEZÉSEK']=\
cat[u'AUTÓKERESKEDELEM']=\
cat[u'VEGYES ÜZLETEK']=\
cat[u'SÍFELSZERELÉSEK,SPORTFELSZERELÉS']=\
cat[u'KERESKEDELEM']=\
cat[u'MAGASNYOMÁSÚ POMPÁK,[email protected]']=\
cat[u'FŰTÉSRENDSZEREK,IPARI KERÁMIA,FÜTŐTESTEK']=\
cat[u'AUTÓGUMIABRONCSOK ÉS BELSŐK,GUMIABRONCS-FORGALMAZÁS,AUTÓ - ITP MŰSZAKI ELLENŐRZÉS,AUTÓJAVÍTÁS,AUTÓ - ALKATRÉSZEK,GUMIABRONCS-NAGYKERESKEDÉS,GUMIABRONCS-SZERELÉS ÉS JAVÍTÁS,GUMIABRONCSOK']=\
cat[u'KÁVÉIMPORT']=\
cat[u'HŐÁLLÓ ÜVEGEK,FŰTÉS – KÁLYHÁK ÉS KAZÁNOK,KANDALLÓK']=\
cat[u'ELEKTRONIKAI CIKKEK']=\
cat[u'DOHÁNYÁRU NAGYKERESKEDÉS,ÉLELMISZER-NAGYKERESKEDÉS,ITAL NAGYKERESKEDÉS,KÁVÉ-NAGYKERESKEDÉS,[email protected]']=\
cat[u'ÁRAMTELEPEK ÉS ELEMEK,[email protected]']=3#kereskedelem

cat[u'CIPŐ és LÁBBELI,LÁBBELI ÉS CIPŐ']=\
cat[u'TEXTILIPAR,TEXTILIPARI KIEGÉSZÍTŐK,[email protected]']=\
cat[u'TEXTILIPAR,TEXTILIPARI KIEGÉSZÍTŐK,[email protected]']=\
cat[u'KONFEKCIÓIPAR']=\
cat[u'KÉSZRUHAGYÁRTÁS,KONFEKCIÓIPAR,[email protected]']=\
cat[u'TEXTILIPAR']=\
cat[u'GYAPJÚTERMÉKEK,RUHANEMŰ']=\
cat[u'CIPŐGYÁRTÁS']=\
cat[u'NADRÁGGYÁRTÁS,KÉSZRUHAGYÁRTÁS,[email protected]']=\
cat[u'NADRÁGGYÁRTÁS,TEXTILIPAR,[email protected]']=\
cat[u'NADRÁGGYÁRTÁS,TEXTILIPAR']=\
cat[u'NADRÁGGYÁRTÁS']=\
cat[u'RUHANEMŰ']=\
cat[u'TEXTILIPAR,ÁGYNEMŰ']=7#textilipar

cat[u'ÁRUFUVAROZÁS – KÜLFÖLDI,ÁRUSZÁLLÍTÁS,SZÁLLÍTMÁNYOZÁS,LOGISZTIKA,ÁRUFUVAROZÁS – VESZÉLYES ANYAGOK']=\
cat[u'NEMZETKÖZI ÁRUSZÁLLÍTÁS,RAKTÁROZÁS,SZÁLLÍTMÁNYOZÁS,VÁMSZOLGÁLTATÁSOK']=\
cat[u'ÁRUFUVAROZÁS – KÜLFÖLDI,ÁRUSZÁLLÍTÁS,SZÁLLÍTMÁNYOZÁS,LOGISZTIKA,']=\
cat[u'ÁRUFUVAROZÁS – VESZÉLYES ANYAGOK']=\
cat[u'BELFÖLDI ÁRUFUVAROZÁS,NEMZETKÖZI ÁRUSZÁLLÍTÁS']=\
cat[u'SZÁLLÍTMÁNYOZÁS,[email protected]']=\
cat[u'SZEMÉLYSZÁLLÍTÁS,TURISZTIKAI SZOLGÁLTATÁSOK,BELFÖLDI SZEMÉLYSZÁLLÍTÁS,KÜLFÖLDI SZEMÉLYSZÁLLÍTÁS']=\
cat[u'BELFÖLDI TEHERFUVAROZÁS,KÜLFÖLDI TEHERFUVAROZÁS,[email protected]']=\
cat[u'SZÁLLÍTÁS,[email protected]']=\
cat[u'SZÁLLÍTÁS']=\
cat[u'ÁRUFUVAROZÁS – KÜLFÖLDI']=\
cat[u'LOGISZTIKA,SZÁLLÍTÁSSZERVEZÉS']=\
cat[u'BELFÖLDI FUVAROZÁS,KÜLFÖLDI ÁRUSZÁLLÍTÁS,LAMBÉRIA,[email protected]']=\
cat[u'KÜLFÖLDI ÁRUSZÁLLÍTÁS,VÁMOLÁS,ÁRUSZÁLLÍTÁS,NEMZETKÖZI ÁRUSZÁLLÍTÁS']=\
cat[u'SZÁLLÍTÁS,ÁRUFUVAROZÁS,SZÁLLÍTMÁNYOZÁS,NEMZETKÖZI ÁRUSZÁLLÍTÁS,NEMZETKÖZI FUVARSZERVEZÉS,KÜL- és BELFÖLDI ÁRUSZÁLLÍTÁS,SPEDÍCIÓ']=\
cat[u'ELFÖLDI,ÁRUFUVAROZÁS,[email protected]']=\
cat[u'ÁRUFUVAROZÁS']=\
cat[u'KÜLFÖLDI SZÁLLÍTÁS,[email protected]']=\
cat[u'ÁRUFUVAROZÁS,NEMZETKÖZI ÁRUSZÁLLÍTÁS,SZÁLLÍTÁS']=\
cat[u'ÁRUFUVAROZÁS,BELFÖLDI ÁRUFUVAROZÁS,NEMZETKÖZI ÁRUSZÁLLÍTÁS,NEMZETKÖZI FUVARSZERVEZÉS']=\
cat[u'BELFÖLDI ÁRUFUVAROZÁS,FOLYÉKONY ANYAGOK SZÁLLÍTÁSA,SPECIÁLIS VEGYIANYAG SZÁLLÍTÁS,VESZÉLYES ANYAGOK SZÁLLÍTÁSA']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=\
cat[u'ÁRUFUVAROZÁS,[email protected]']=\
cat[u'BEL- és KÜLFÖLDI ÁRUFUVAROZÁS,[email protected]']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=\
cat[u'SZÁLLÍTMÁNYOZÁS']=6#szallitasipar

cat[u'0']=\
cat[u'TOP Cégek,']=\
cat[u'AUTÓ – GUMIABRONCSOK,AUTÓ – GUMISZERVIZEK,GUMIABRONCSOK']=\
cat[u'PARTISÁTRAK,SÖRGARNITÚRÁK,SÖRSÁTOR-BÉRLÉS']=\
cat[u'SZERENCSEJÁTÉKOK']=\
cat[u'FŰTÉS – HŐSZOLGÁLTATÁS']=\
cat[u'VÍZ-GÁZ- és FŰTÉSTECHNIKA']=\
cat[u'SZERENCSEJÁTÉKOK,[email protected]']=\
cat[u'VÁLLALKOZÁSFEJLESZTÉS']=\
cat[u'MOBILTELEFON-SZERVIZ,TELEFONSZERVIZEK']=\
cat[u'ÉPÜLETGÉPÉSZET,FÜRDŐSZOBA BERENDEZÉSEK']=\
cat[u'ERESZCSATORNA RENDSZEREK']=\
cat[u'FÜRDŐSZOBA BERENDEZÉSEK,KAZÁNOK']=\
cat[u'BENZINKUTAK SZERVIZELÉSE,TARTÁLYTISZTÍTÁS']=\
cat[u'VÍZ- ÉS CSATORNASZOLGÁLTATÓ']=\
cat[u'SOFŐRISKOLÁK']=\
cat[u'KÖZSZÁLLÍTÁS,TÁVFŰTÉS,VÁROSGAZDÁLKODÁS']=\
cat[u'AKKUMULÁTOROK,']=\
cat[u'SZERENCSEJÁTÉKOK']=\
cat[u'LOGISZTIKA,RAKTÁROZÁS']=\
cat[u'CÉGTANÁCSADÁS']=\
cat[u'VÍZSZOLGÁLTATÁS']=\
cat[u'AUTÓKÖLCSÖNZÉS']=\
cat[u'SZÁMÍTÓGÉPEK,SZOFTVEREK']=\
cat[u'TÁVKÖZLÉS']=\
cat[u'MOSÁS-TISZTÍTÁS']=\
cat[u'AUTÓ - VILLAMOSSÁG']=\
cat[u'BÁDOGOSMUNKÁK']=\
cat[u'REKLÁMSZOLGÁLTATÁSOK']=\
cat[u'HULLADÉKBEGYŰJTÉS,ÚJRAHASZNOSÍTHATÓ ANYAGOK,KÖZTISZTASÁG']=\
cat[u'HIVATALOK és INTÉZMÉNYEK,[email protected]']=4#szolgaltatasok

cat[u'ÉPÍTKEZÉS,[email protected]']=\
cat[u'ÉPÍTKEZÉS – ÉPÍTŐANYAGOK']=\
cat[u'ÉPÍTKEZÉS,[email protected]']=\
cat[u'TÉRKŐ- ÉS SZEGÉLYGYÁRTÁS,ÉPÍTKEZÉS – BETON ÉPÍTŐELEMEK']=\
cat[u'ÉPÍTKEZÉSI ÁLLVÁNYRENDSZEREK,ÉPÍTŐIPARI FÉMSZERKEZETEK,[email protected]']=\
cat[u'ÉPÍTKEZÉS,ÚT- és HÍDÉPÍTÉS,KANALIZÁLÁSI RENDSZEREK,IPARI CSARNOKOK ÉPÍTÉSE']=\
cat[u'ÉPÍTŐANYAG-LERAKATOK,IPARI ÁRUK']=\
cat[u'ÉPÍTKEZÉS – ÉPÍTŐANYAGOK,SZANITÉR BERENDEZÉSEK']=\
cat[u'ÉPÍTKEZÉS,ÚT- és HÍDÉPÍTÉS,[email protected]']=\
cat[u'ÉPÍTKEZÉS,[email protected]']=\
cat[u'ÉPÍTŐANYAGOK,BELSŐÉPÍTÉSZET']=\
cat[u'ÉPÍTKEZÉS,ÉPÍTŐANYAGOK,[email protected]']=\
cat[u'ÉPÍTŐANYAGOK,IPARI TERMÉKEK']=\
cat[u'ÉPÍTŐANYAGOK,MŰTRÁGYA']=\
cat[u'ÉPÍTKEZÉS']=\
cat[u'ÉPÍTKEZÉS,UTAK és HIDAK']=\
cat[u'ÉPÍTKEZÉS – ÉPÍTŐANYAG-LERAKATOK']=\
cat[u'ÉPÍTKEZÉS,ÉPÍTKEZÉS A-tól Z-ig,[email protected]']=\
cat[u'ÉPÍTKEZÉS,ÉPÍTKEZÉS A-tól Z-ig']=\
cat[u'ÉPÍTŐANYAG-LERAKATOK,FAFELDOLGOZÁS']=\
cat[u'ÉPÍTŐANYAG-LERAKATOK']=\
cat[u'AUTÓ - VILLAMOSSÁG']=\
cat[u'AUTÓ - VILLAMOSSÁG']=\
cat[u'HIDAK és UTAK']=9#epitkezes, epitoanyagok

cat[u'FAFELDOLGOZÁS,[email protected]']=\
cat[u'ERDÉSZETI HIVATALOK,INTÉZMÉNYEK ÉS HIVATALOK,FAKITERMELÉS,KÖZBIRTOKOSSÁGOK']=\
cat[u'FA – KERESKEDELEM']=\
cat[u'FA – MEGMUNKÁLÁS,FA – LÉPCSŐK,FA – NYÍLÁSZÁRÓK']=\
cat[u'ÁCSMUNKÁK,ASZTALOSMUNKÁK,FAHÁZAK,NYÍLÁSZÁRÓK']=\
cat[u'BÚTORGYÁRTÁS,BÚTORKERESKEDELEM']=\
cat[u'ERDŐKITERMELÉS']=\
cat[u'FAANYAGLERAKAT']=\
cat[u'BÚTOR - GYÁRTÁS']=\
cat[u'ERDÉSZETI KITERMELÉS']=\
cat[u'FAFELDOLGOZÁS,ÁLLATTENYÉSZTÉS, DESZKAFORGALMAZÁS,ÉPÜLET-FAANYAG,FAKITERMELÉS,FAKERESKEDELEM,FAMEGMUNKÁLÁS,TŰZIFA,SZÁLLÍTÁS KÜL- ÉS BELFÖLDI,ÁRUFUVAROZÁS,[email protected]']=\
cat[u'FAKITERMELÉS,TŰZIFA']=\
cat[u'AJTÓ-ABLAK GYÁRTÁS,FAHÁZAK,HAJÓPADLÓ']=\
cat[u'FA – FELDOLGOZÁS,ÁLLATTENYÉSZTÉS,[email protected]']=\
cat[u'FA – KITERMELÉS']=\
cat[u'ERDÉSZETI KITERMELÉS,TEHERFUVAROZÁS,FAKITERMELÉS']=\
cat[u'RÉTEGELT FENYŐÁRU']=\
cat[u'BÚTOR - GYEREKBÚTOR,FAJÁTÉKOK']=\
cat[u'FAFELDOLGOZÁS']=\
cat[u'BÚTOR – GYÁRTÁS']=\
cat[u'BÚTORGYÁRTÁS']=\
cat[u'FA – FELDOLGOZÁS,ÁRUFUVAROZÁS – BEL- ÉS KÜLFÖLDI']=\
cat[u'BRIKETTAGYÁRTÁS,BÚTOROK,FAIPARI GÉPEK,GÉPEK FORGALMAZÁSA,KERTIBÚTOROK,KISBÚTOROK']=\
cat[u'BRIKETTAGYÁRTÁS,FAFELDOLGOZÁS']=\
cat[u'FA – FELDOLGOZÁS']=10#fa es butor

cat[u'FESTÉKEK és LAKKOK']=\
cat[u'MŰTRÁGYA']=\
cat[u'VEGYTERMÉKEK']=\
cat[u'GYÓGYSZERTÁRAK']=\
cat[u'FESTÉKEK és LAKKOK,VEGYI ÁRU']=\
cat[u'VEGYI ÁRU']=\
cat[u'TISZTÍTÓ- ÉS MOSÓSZEREK']=\
cat[u'FARMAKOLÓGIAI TERMÉKEK']=8#gyogyszer es vegyipar

cat[u'VENDÉGLŐK']=\
cat[u'SZÁLLODA,SZÁLLÁSOLÁS']=\
cat[u'SZÁLLÁSOLÁS,SZÁLLODA']=\
cat[u'SZÁLLODA,SZÁLLÁSOLÁS']=\
cat[u'GYÓGYKEZELÉSEK,SZÁLLODA,HOTELEK']=\
cat[u'ÉTTERMEK,VENDÉGLŐK,RENDEZVÉNYEK']=\
cat[u'PANZIÓK,ÉTTERMEK,RENDEZVÉNYEK,SZÁLLÁS,[email protected]']=5#vendeglatoipar
    
cat[u'LEMEZEK,RÉZ ÉS SÁRGARÉZ']=\
cat[u'ACÉLTERMÉKEK,SZÍNESFÉM-KERESKEDELEM,BETONACÉL MEGMUNKÁLÁS, ']=\
cat[u'ÖNTÖDÉK']=\
cat[u'ACÉLTERMÉKEK,SZÍNESFÉM-KERESKEDELEM,BETONACÉL MEGMUNKÁLÁS,']=\
cat[u'BÁNYAMUNKÁK']=\
cat[u'HOMOK ÉS KAVICS,[email protected]']=\
cat[u'ÁSVÁNY – KITERMELÉS']=12#nehezipar,banyaszat

cat[u'GÁZSZOLGÁLTATÁS,GÁZSZOLGÁLTATÁSI HIBAJELENTÉS']=\
cat[u'BENZINKUTAK,ÜZEMANYAGOK,[email protected]']=\
cat[u'BENZINKUTAK,ÜZEMANYAGOK']=\
cat[u'ÜZEMANYAG']=\
cat[u'ÜZEMANYAGOK']=\
cat[u'GÁZSZOLGÁLTATÁS']=13#energiaipar

cat[u'MEZŐGAZDASÁGI GÉPEK ÉS SZERSZÁMOK']=\
cat[u'TYÚKFARM']=\
cat[u'GYÜMÖLCS ÉS ZÖLDSÉG,[email protected]']=\
cat[u'MEZŐGAZDASÁGI GÉPEK ÉS SZERSZÁMOK,SZERSZÁMOK ÉS SZERSZÁMGÉPEK']=\
cat[u'MEZŐGAZDASÁGI GÉPEK ÉS SZERSZÁMOK,[email protected]']=\
cat[u'ÁLLATTENYÉSZTÉS']=\
cat[u'ZÖLDSÉG és GYÜMÖLCS']=\
cat[u'BURGONYATERMESZTÉS ÉS ELADÁS,BURGONYA-VETŐMAG,BÚZATERMESZTÉS ÉS ELADÁS,[email protected]']=\
cat[u'BURGONYA-VETŐMAG,BÚZAVETŐMAG,ÉTKEZÉSI BURGONYA,GABONAVETŐMAGOK, ZÖLDSÉGTERMESZTÉS,[email protected]']=\
cat[u'MEZŐGAZDASÁG ÉS NÖVÉNYTERMESZTÉS,NÖVÉNYTERMESZTÉS']=\
cat[u'MEZŐGAZDASÁG ÉS NÖVÉNYTERMESZTÉS,GABONA TÁROLÓ,KUKORICASZÁRÍTÁS,VEGYSZEREK,NÖVÉNYVÉDŐ SZEREK']=\
cat[u'BURGONYA-VETŐMAG,BÚZAVETŐMAG,ÉTKEZÉSI BURGONYA,LISZTBÚZA,MUSTÁRMAG,REPCEMAG,[email protected]']=\
cat[u'GABONAVETŐMAGOK']=2#agrikultura

cat[u'ÁSVÁNYVÍZ – PALACKOZÁS']=\
cat[u'ÁSVÁNYVÍZ']=\
cat[u'ÁSVÁNYVÍZ']=\
cat[u'ÁSVÁNYVÍZ – FORGALMAZÁS']=\
cat[u'ÁSVÁNYVÍZ – PALACKOZÁS,ÁSVÁNYVÍZ – KITERMELÉS']=1#borviz

data[6]['tags']=data[6]['tags'].fillna('0')
for i in data[6]['tags'].values:
    if i not in cat.keys():
        print i     
In [18]:
#save data if not already saved
data[6].to_excel('data.xls')
In [5]:
%matplotlib inline
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
import mpld3
mpld3.enable_notebook()
In [112]:
fig, ax = plt.subplots(figsize=(10,10))
ax.imshow(plt.imread('Szekely_Land.jpg'),extent=[24.25,26.5,45.57,47.2],alpha=0.5)

i=6
l=np.array(data[i][1].values,dtype=str)
x=data[i]['lon'].values
y=data[i]['lat'].values
colors=['#543005','#9e0142','#d53e4f','#f46d43','#fdae61','#fee08b','#ffffbf',\
        '#e6f598','#abdda4','#66c2a5','#3288bd','#5e4fa2','#40004b','#762a83']
sectors=['ELELMISZER','ASVANYVIZ','MEZOGAZDASAG','KERESKEDELEM','SZOLGALTATAS','VENDEGLATO','SZALLITAS',\
        'TEXTIL','GYOGYSZER, VEGYIPAR','EPITKEZES','FA, BUTOR','KISFEM, MUANYAG','NEHEZIPAR, BANYASZAT','ENERGIA']
sectors2=[u'Élelmiszer',u'Ásványvíz',u'Mezögazdaság',u'Kereskedelem',u'Szolgáltatás',u'Vendéglátó',u'Szállítás',\
        u'Textil',u'Gyógyszer, vegyipar',u'Építkezés',u'Fa, bútor',u'Kisfémipar, müanyag',u'Nehézipar, bányászat',u'Energia']
c=[colors[cat[data[i]['tags'].values[k]]] for k in range(len(data[i]))]
s=np.array(data[i][2].map(lambda x: ''.join(x.split('.'))).values,dtype=float)
l=[l[k]+';'+sectors2[cat[data[i]['tags'].values[k]]]+';'+repr(round(s[k]/1000000,1))+'M RON' for k in range(len(l))]
catdict={}
sumdict={}
for w in range(len(data[i]['tags'])):
    if cat[data[i]['tags'].values[w]] in catdict:
        catdict[cat[data[i]['tags'].values[w]]]+=1
        sumdict[cat[data[i]['tags'].values[w]]]+=s[w]
    else:
        catdict[cat[data[i]['tags'].values[w]]]=1
        sumdict[cat[data[i]['tags'].values[w]]]=s[w]

#change s for repr
formfactor=0.68
s=(s/1000)**formfactor
ax.add_patch(Rectangle((25.96, 46.68), 26.54-26, 47.2-46.68, facecolor="white",alpha=0.7))
ax.add_patch(Rectangle((24.25, 46.87), 0.42, 47.2-46.87, facecolor="white",alpha=0.7))
for w in range(len(sectors)):
    ax.scatter(26.45,47.17-w*0.035,s=200,c=colors[w],zorder=10+w)
    ax.text(26.4,47.16-w*0.035,sectors2[w],size=12,horizontalalignment ="right")
ax.scatter(24.25,47.06,(1000000000/1000)**formfactor,facecolor='none')
ax.scatter(24.25,47.13,(100000000/1000)**formfactor,facecolor='none')
ax.scatter(24.25,47.09,(500000000/1000)**formfactor,facecolor='none')
ax.scatter(24.25,47.16,(10000000/1000)**formfactor,facecolor='none')
ax.text(24.26,46.90,"1 000 000 000 RON",size=12,horizontalalignment ="left")
ax.text(24.26,46.95,"500 000 000 RON",size=12,horizontalalignment ="left")
ax.text(24.26,47.04,"100 000 000 RON",size=12,horizontalalignment ="left")
ax.text(24.26,47.11,"10 000 000 RON",size=12,horizontalalignment ="left")

scatter=ax.scatter(x,y,s,c,alpha=0.7)
#tooltip = mpld3.plugins.PointLabelTooltip(scatter, labels= list(l)) #old, plain text, non-HTML tooltip

# Define some CSS to control our custom labels
from StringIO import StringIO
css = """
table
{
  border-collapse: collapse;
  opacity:1;
}
th
{
  color: #ffffff;
  background-color: rgb(132,179,173);
}
td
{
  background-color: rgb(228,242,240);
}
table, th, td
{
  border: 1px solid black;
  text-align: left;
}
"""
labels=[]
for ll in range(len(l)):
    labels.append((pd.read_csv(StringIO(l[ll]),sep=';',names=['Név','Iparág','Bevétel']).set_index('Név').T.to_html()))
tooltip = mpld3.plugins.PointHTMLTooltip(scatter, labels,
                                   voffset=10, hoffset=10, css=css)
mpld3.plugins.connect(fig, tooltip)
ax.set_xlim(24.25,26.5)
ax.set_ylim(45.57,47.2)
ax.set_aspect(1.41)

#leiras
hpt=u"@csaladenes"
ax.text(26.48,46.3,hpt,size=12,horizontalalignment ="center",verticalalignment ="bottom",rotation=90,color="#0e6b5f")
hpt=u"Székelyföld gazdasága"
ax.text(24.3,45.6,hpt,size=29,horizontalalignment ="left",verticalalignment ="top",rotation=90,color="#0e6b5f")
txsize=15
txspacing=0.003
hpt=u"forrás: omnibus.ro"
ax.text(24.5,45.6,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")
hpt=u"Marosszék és Gyergyószék régiókból."
ax.text(24.5,45.6+txsize*txspacing,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")
hpt=u"Csíkszék, Udvarhelyszék,"
ax.text(24.5,45.6+2*txsize*txspacing,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")
hpt=u"Alsóháromszék, Felsőháromszék,"
ax.text(24.5,45.6+3*txsize*txspacing,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")
hpt=u"Az 50 legnagyobb vállalatot elemeztük"
ax.text(24.5,45.6+4*txsize*txspacing,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")
hpt=u"A színkód az iparágaknak felel meg."
ax.text(24.5,45.6+5*txsize*txspacing,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")
hpt=u"elérő 300 vállalkozást jelölik, geokódolva."
ax.text(24.5,45.6+6*txsize*txspacing,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")
hpt=u"A körök a 2013-ban legnagyobb bevételt"
ax.text(24.5,45.6+7*txsize*txspacing,hpt,size=txsize,horizontalalignment ="left",verticalalignment ="bottom",color="#0e6b5f")

plt.subplots_adjust(0.03,0.05,0.95,0.95)
plt.show()