In [1]:
import pandas as pd
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
Bővítőcsomagok importálása
In [1]:
import pandas as pd
import numpy as np
Előzetesen mentsük el valamelyik D3plus példa adatait a valami.json
-ba
In [2]:
df=pd.read_json('valami.json')
In [3]:
df
Out[3]:
Oszlop kiíratása
In [6]:
df[['group']]
Out[6]:
Sor kiíratása
In [7]:
df.loc[4]
Out[7]:
Új oszlop
In [10]:
df['uj']=9
In [11]:
df
Out[11]:
Data frame exportálás
In [15]:
df.to_json('valami2.json')
Transzponált
In [16]:
df.T
Out[16]:
In [17]:
df.T.to_json('valami3.json')
JSON formázás
In [12]:
import json
In [13]:
enyim=df.T.to_json()
pandas dataframe to_json
függvény stringet generál
In [16]:
enyim
Out[16]:
Ezt átkonvertáljuk JSON-ba
In [17]:
enyimjson=json.loads(enyim)
In [18]:
enyimjson
Out[18]:
A JSON olyan mint egy szótár: vannak kulcsok (keys) és értékek (values)
In [19]:
enyimjson.keys()
Out[19]:
In [20]:
enyimjson.values()
Out[20]:
In [21]:
jsonlista=list(enyimjson.values())
In [22]:
jsonlista
Out[22]:
A dumps
függvény újra stringet generál
In [24]:
json.dumps(jsonlista)
Out[24]:
Fájlba mentés
In [44]:
open('ujvalami.json','w').write(json.dumps(jsonlista))
Out[44]:
In [45]:
df
Out[45]:
Egy elem lekérdezése pandasból
In [46]:
df.loc[2]['name']
Out[46]:
Nem lehet egy elemet megváltoztatni, csak egy teljes oszlopot
In [47]:
df.loc[2]['name']='ujgamma'
In [48]:
df
Out[48]:
In [52]:
ujlista=range(6)
Új oszlop
In [54]:
df['uj2']=ujlista
In [55]:
df
Out[55]:
Még egy új oszlop
In [56]:
df['uj3']=['a','b','c','d','t','d']
In [57]:
df
Out[57]:
Kis játék függvény: elment egy dataframe-et ujvalamix.json néven D3plus formátumban
In [25]:
def d3plus(df):
open('ujvalamix.json','w').write(json.dumps(list(json.loads(df.T.to_json()).values())))
print('oke')
In [26]:
d3plus(df)
In [27]:
import pandas as pd
import html5lib
HTML táblázatok beolvasása
In [28]:
dfs=pd.read_html(r'https://hu.wikipedia.org/wiki/Marosvásárhely')
In [29]:
dfs[3]
Out[29]:
In [30]:
dfs[9]
Out[30]:
In [35]:
df=dfs[9]
In [36]:
df
Out[36]:
In [37]:
df.loc[0]
Out[37]:
In [38]:
df.columns
Out[38]:
Oszlopok neveinek kicserélése
In [39]:
df.columns=df.loc[0]
In [40]:
df
Out[40]:
Szeletelés a sorokban
In [41]:
de=df.loc[1:9]
In [42]:
de
Out[42]:
Stringek átaáalkítás számokká, tizedes vessző miatt
In [43]:
ures=[]
for i in range(1,10):
print(i)
elso=int(de.loc[i]['Magyar'][:2])
masodik=int(de.loc[i]['Magyar'][3:4])
ures.append(elso+masodik/10.0)
print(ures)
In [44]:
de['ujoszlop']=ures
In [45]:
open('mv2.json','w').write(json.dumps(list(json.loads(de.T.to_json()).values())))