為了避免以後回顧程式碼時的解讀困難,今天決定來整理一下寫過的程式碼,並運用def()自定義函數來簡化一些比較重複的動作。
如果工作上會用到程式撰寫,應該也蠻常會使用到自定義函數的。
def()的使用與練習
瀏覽了一下分析的程式碼,覺得比較重複的步驟是有關遮罩的部分,如果將自定義函數寫好,臨時想要看不同區段的時間時就可以直接呼叫這個函數了!
要使用自定義函數前要先進行宣告,函數名稱(參數Parameter)可以自取,但要記得不要與既有函數名稱重疊到,括號內可放置想要的引數(Argument)。return為回傳值,如果未設置就會直接忽略(如果還想在函數外使用到,就需要設置)。
def your_name(x,y):
z=x+y+10
return z
====
your_name(5,7)
22
用在本次分析項目中試試看。
def data_mask(dataframe,column,time_1,time_2):
m=dataframe[column]>=time_1
m_1=dataframe[column]<=time_2
number=dataframe[column][m&m_1].count()
return number
data_mask(df1,'ride_length','00:01:00','01:00:00')
###
Out[10]: 411769
再來一個自定義函數,是關於讀取資料庫資料的。如果要讀取不同來源,相信會很好用的。
def read_sql(host,user,passwd,database,port,e):
import pymysql
db1 = pymysql.connect(host=host,
user=user,
passwd=passwd,
database=database,
port=port)
cursor=db1.cursor()
cursor.execute(e)
data=cursor.fetchall()
return data
read_sql('127.0.0.1','root','12345678','bike_clean_data',3306,
'''SELECT * FROM clean_data''')
以上就是今天的小整理,期許自己在撰寫程式時能夠用更易理解的方式命名,也一邊去簡化程式的寫法,讓人一目了然。接下來幾天有機會的話,順便來複習一下物件導向(希望自己還記得XD),不過還是先以商業分析為主軸!
從「探索」進入到「解釋」階段
明天見!