Bu yazı, PYTHON İÇİN SQL FONKSİYONLARI yazı serisinin son bölümü olacaktır. Bu yazıda veri analizi sırasında sıklıkla kullanılan SQL fonksiyonları dışındaki çok önemli fonksiyonlara da yer vereceğim. PYTHON İÇİN SQL FONKSİYONLARI - PART1 ve PYTHON İÇİN SQL FONKSİYONLARI - PART2 ' e tıklayarak ulaşabilirsiniz.
Bu yazımda değineceğim fonksiyonlar aşağıdadır. Bu çalışma için dataseti buradan indirebilirsiniz. İncelemek istediğiniz koda tıklayarak kodun yazımına doğrudan ilerleyebilirsiniz. İlerlediğiniz sayfadan tekrar buraya dönmek için kural adına tıklamanız yeterlidir.
Diğer partları okuyup buraya geldiyseniz tekrar olacak ama istediğiniz bir çıktıyı verecek birden fazla yöntem olabileceğini aklınızdan çıkarmadan okumanızı tavsiye ederim.
35.SELECT EXTRACT(YEAR FROM A),EXTRACT(MONTH FROM A) FROM X
Hazırsanız son bölüme başlayalım. Bu bölümde bazı fonksiyonlar için kendimiz ayrı bir dataframe oluşturacağız ve sonuçları bunlar üzerinden göstereceğim.
loan_data2=loan_data.loc[:100,:] loan_data2.rename(columns={"Loan_ID":"Loan_ID2"},inplace=True) loan_data['key'] = 0 loan_data2['key'] = 0 pd.merge(loan_data,loan_data2, on="key")
pd.concat([loan_data,loan_data2],axis=0,ignore_index=True).drop_duplicates()
pd.concat([loan_data,loan_data2],axis=0,ignore_index=True)
df = pd.DataFrame({'month': ['1-05-01 00:00:00','1-06-01 00:00:00','1-06-01 00:00:00','1-05-01 00:00:00']}) df['month'] = pd.to_datetime(df['month'])
df["month"].dt.year #extract year
df["month"].dt.month #extract month
df["month"].dt.day #extract day
df["month"].dt.dayofweek #extract dayofweek
df["month"].dt.day_name() #extract day_name
from pandas.tseries.offsets import MonthEnd df['Date'] = pd.to_datetime(df['month'], format="%Y%m") + MonthEnd(1) df
df.month + pd.DateOffset(months=1)
pd.datetime.now().strftime("%d/%m/%Y")
data = {'close_date': ["2012-08-01", "2012-08-01", "2012-08-01", "2012-08-02", "2012-08-03", "2012-08-04", "2012-08-05", "2012-08-07"], 'seller_name': ["Lara", "Julia", "Julia", "Emily", "Julia", "Lara", "Julia", "Julia"] } df = pd.DataFrame(data) df['close_date'] = pd.to_datetime(df['close_date'])
df.groupby('seller_name')['close_date'].rank(method='first')
df['rank_seller_by_close_date'] = df.groupby('seller_name')['close_date'].rank(method='first')
df['rank_seller_by_close_min'] = df.groupby('seller_name')['close_date'].rank(method='min')
df['dense_rank_agency_seller_by_close_dense'] = df.groupby(['seller_name'])['close_date'].rank(method='dense')
df = pd.DataFrame({"Col1": [10, 20, 15, 30, 45], "Col2": [13, 23, 18, 33, 48], "Col3": [17, 27, 22, 37, 52]}, index=pd.date_range("2020-01-01", "2020-01-05")) df["Col1_lag"]=df["Col1"].shift(1)
41.SELECT LEAD(A,1) FROM X
df2=df.reset_index().sort_values("index",ascending=False) df2["col2_lead"]=df2.Col2.shift(1)
loan_data.pivot_table(index="Gender",columns="Property_Area",values="LoanAmount",aggfunc=sum)
loan_data.pivot_table(index="Gender",columns="Property_Area",values="oto_onay",aggfunc=np.size)
loan_data.pivot_table(index="Gender",columns="Property_Area",values="LoanAmount", aggfunc = lambda x:x.sum()/loan_data['LoanAmount'].sum())
loan_data.pivot_table(index="Gender_Missing",columns="Property_Area",values="LoanAmount", aggfunc = lambda x:x.sum(axis=0)/loan_data['LoanAmount'].sum(axis=0)*100)
43.UNPIVOT
pivot=loan_data.pivot_table(index="Gender",columns="Property_Area",values="LoanAmount", aggfunc = lambda x:x.sum()/loan_data['LoanAmount'].sum()) pivot=pivot.reset_index() pivot.melt()
44.BINNING
loan_data["binning"]=pd.cut(loan_data.ApplicantIncome,bins=10,labels=np.arange(10))
loan_data["binning5"]=pd.cut(loan_data.ApplicantIncome,bins=5,labels=np.arange(5))
loan_data["binning100"]=pd.cut(loan_data.ApplicantIncome,bins=100,labels=np.arange(100))
loan_data["binning_qcut"]=pd.qcut(loan_data.ApplicantIncome,q=5)
loan_data["binning_qcut5"]=pd.qcut(loan_data.ApplicantIncome,q=5,labels=np.arange(5))
d = { 'Name':['Alisa','Bobby','Cathrine','Alisa','Bobby','Cathrine', 'Alisa','Bobby','Cathrine','Alisa','Bobby','Cathrine'], 'Exam':['Semester 1','Semester 1','Semester 1','Semester 1','Semester 1','Semester 1', 'Semester 2','Semester 2','Semester 2','Semester 2','Semester 2','Semester 2'], 'Subject':['Mathematics','Mathematics','Mathematics','Science','Science','Science', 'Mathematics','Mathematics','Mathematics','Science','Science','Science'], 'Result':['Pass','Pass','Fail','Pass','Fail','Pass','Pass','Fail','Fail','Pass','Pass','Fail']} df = pd.DataFrame(d,columns=['Name','Exam','Subject','Result']) my_crosstab=pd.crosstab(df.Subject, df.Result,margins=True)
my_crosstab.columns = ["Fail" , "Pass" , "rowtotal"] my_crosstab.index= ["Mathematics","Science","coltotal"] my_crosstab/my_crosstab.loc["coltotal",:]
my_crosstab.columns = ["Fail" , "Pass" , "rowtotal"] my_crosstab.index= ["Mathematics","Science","coltotal"] my_crosstab.div(my_crosstab["rowtotal"],axis=0)
PYTHON İÇİN SQL FONKSİYONLARI serisinin sonuna geldik. Okuduğunuz için teşekkür ederim. Diğer yazılarımda görüşmek üzere.
Yorumlar
Yorum Gönder