In [1]:
import pandas as pd
JSON file beolvasás
In [3]:
pd.read_json('data.json')
Out[3]:
Excel file beolvasás: sorok kihagyhatók a file tetejéről, munkalap neve választható.
In [4]:
df=pd.read_excel('2.17deaths causes.xls',sheet_name='2.17',skiprows=5)
numpy egy matematikai bővítőcsomag
In [5]:
import numpy as np
A nan értékek numpy-ban vannak definiálva.
In [6]:
df=df.set_index('Unnamed: 0').dropna(how='any').replace('-',np.nan)
In [7]:
df2=pd.read_excel('2.17deaths causes.xls',sheet_name='2.17',skiprows=4)
ffill azt jelenti forward fill, és a nan-okat kitölti a balra vagy fölötte álló értékkel. Az axis=0 a sorokat jelenti, az axis=1 az oszlopokat.
In [8]:
df2.loc[[0]].ffill(axis=1)
Out[8]:
Sorok/oszlopok törlése.
In [ ]:
df=df.drop('Unnamed: 13',axis=1)
In [11]:
df.columns
Out[11]:
In [12]:
[year for year in range(2011,2017)]
Out[12]:
In [13]:
df.columns=[year for year in range(2011,2017) for k in range(2)]
Nested pythonic lista - két felsorolás egymás után
In [14]:
[str(year)+'-'+str(k) for year in range(2011,2017) for k in range(2)]
Out[14]:
In [15]:
nemek=['Masculin','Feminin']
[str(year)+'-'+nem for year in range(2011,2017) for nem in nemek]
Out[15]:
In [16]:
df.columns=[str(year)+'-'+nem for year in range(2011,2017) for nem in nemek]
df
Out[16]:
In [17]:
evek=[str(year) for year in range(2011,2017) for nem in nemek]
nemlista=[nem for year in range(2011,2017) for nem in nemek]
In [18]:
df=df.T
Új oszlopok a dimenzióknak.
In [21]:
df['Ev']=evek
df['Nem']=nemlista
In [22]:
df.head(6)
Out[22]:
In [23]:
df.set_index(['Ev','Nem'])
Out[23]:
unstack paranccsal egy MultiIndex (azaz többszintes index) pivot-álható.
In [25]:
df.set_index(['Ev','Nem'])[['Total']].unstack()
Out[25]:
Hiányzó értékek (nan-ok) helyettesítése.
In [26]:
pd.DataFrame([0,3,4,5,'gfgf',np.nan]).replace(np.nan,'Mas')
Out[26]:
In [27]:
pd.DataFrame([0,3,4,5,'gfgf',np.nan]).fillna('Mas')
Out[27]:
join - több DataFrame összefűzése. Az index ugyanaz kell legyen. Az oszlopok nevei különbözőek. Az index neve nem számít.
In [28]:
df1=pd.read_excel('pensiunea comfort 1.xlsx',sheet_name='Sheet1')
df2=pd.read_excel('pensiunea comfort 1.xlsx',sheet_name='Sheet2')
df3=pd.read_excel('pensiunea comfort 1.xlsx',sheet_name='Sheet3')
In [29]:
df1=df1.dropna(how='all',axis=0).dropna(how='all',axis=1).set_index(2019)
df2=df2.dropna(how='all',axis=0).dropna(how='all',axis=1).set_index(2019)
df3=df3.dropna(how='all',axis=0).dropna(how='all',axis=1).set_index('2019/ NR. DE NOPTI')
In [30]:
df1.join(df2).join(df3)
Out[30]:
In [ ]: