maandag 3 september 2018

excel inlezen en data selecties maken

opmerkingen 

let op dat bij het inlezen van Excel pandas waarschijnlijk automatisch allerlei conversies gaat uitvoeren. dit kan je voorkomen door bijv alles als string in te lezen

dflookup1=xls_file.parse(sheet,skiprows=0,dtype=str) 

je kan daarna altijd nog de datatypes aanpassen

per veld conversie

>>> string conversie naar datetime

 dfin=dfin.astype({'VD_Ingangsdatum': 'datetime64', 'VD_Einddatum': 'datetime64'})

>>> string conversie naar getal


dfjgd2['BEDRAG'] = dfjgd2['BEDRAG'].str.replace(',', '').astype(float)



bij inlexen conversie


Als je enkel bepaalde velden wil interpreteren dan doe je het als volgt

dflookup1=xls_file.parse(sheet,skiprows=0,dtype={'BSN': str,'GEB_PC_HNR':str,'JAAR':str})

Voorbeeldcode


import pandas as pd
import numpy as np

xls_file=pd.ExcelFile('..\\Factuur regels 303-Jgd 01-01-2016 tm 03-09-2018 dd 03-09-2018.xlsx')
dfnew=xls_file.parse('ZorgNed_FactRegl303')

 print(list(dfnew.columns))
lscolsnew = dfnew.columns.values


bjaar2017=dfnew['Factuurregel betrekking op jaar']==2017
bGefactureerd=df2017['Goedkeuren']=='Gefactureerd'
dfSelect=dfnew[bjaar2017 & bGefactureerd]

# Tel rijen: manier 1
rows,columns = dfSelect.shape
print('aantal rijen: ',rows )
# Tel rijen: manier 2
dfSelect['Factuurregel betrekking op jaar'].count()


dfSelect['Bedrag goedgekeurd'].sum()

#bij 1 rechthoekig haakje returned een Series object
dfSelect.groupby("Voorzieningsoort")['Bedrag goedgekeurd'].sum().sort_values()

#bij 2 rechthoekige haakjes wordt een dataframe gereturned
dfSelect.groupby("Voorzieningsoort")[['Bedrag goedgekeurd']].sum().sort_values(by='Bedrag goedgekeurd')

Geen opmerkingen:

Een reactie posten

Datums bepalen adhv begin en einddatum in Dataframe

Voorbeeld op losse velden  ####################################################################### # import necessary packages from datetime...