這週終於把任務全刷完一遍了
再一個感覺一知半解的狀態下
懵懵懂懂的把東西做完了XD
按照慣例,又來到了周五PO學習筆記的時候
剛練習的前幾天,東西爆炸多,常常就是學到甚麼貼甚麼
也因為打文章的時間沒有很多(都說菜鳥了狂學習,狂吸收知識,能趕緊把東西貼來部落格就沒甚麼時間了XD)
下班跟假日都攤在那了,還是偶而我們的前端大神會唸一下刷LeetCode QQ
現在都希望運用周五晚上的時間來把這一週的筆記編輯一下,才不會看起來雜亂無章
沒想到學習筆記來到了第10篇
回顧我第一天第二天上工,還是個不會接MySQL的菜鳥
現在已經學到了下Where 條件 IN list抓資料
雖然看起來寫部落格會花很多時間,但有的時候我還是堅持寫部落格
多的時候記錄學習的筆記,但其時有的時候回來翻我也不知道要翻哪篇
也算是我學習後端的紀錄
想Print List內的字串,但不想要有 [ ] 外包括號
names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(', '.join(names))
print(*names, sep=", ")
處裡Pandas DataFrame 的timedelta64格式
# 忘記是後五行還是取五筆, 將 timedelta 轉成秒數
df[:5]['duration']/np.timedelta64(1, 's')
# 忘記是後五行還是取五筆, 將 timedelta 轉成小時
df[:5]['duration']/np.timedelta64(1, 'h')
<span class="n">將已存在的B, C欄位刪掉
</span><span class="n">df</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s1">'B'</span><span class="p">,</span> <span class="s1">'C'</span><span class="p">])</span>
<span class="n">DataFrame取到小數點後第二位
df</span><span class="o">.</span><span class="n">round</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
10/30
這一天把卡了很久的TimeDelta, DateTime格式處裡做了一個突破
簡直是把之前遺留的毒瘤給一次解決
趕工的關係,就亂貼網站,現在也就
# 我在網路上找到一個轉換的函式
# 使用方式:
# strfdelta(tdelta, fmt)
# strfdelta(delta_obj, "{days} days {hours}:{minutes}:{seconds}")
# strfdelta(delta_obj, "{hours}:{minutes}:{seconds}")
def strfdelta(tdelta, fmt):
d = {"days": tdelta.days}
d["hours"], rem = divmod(tdelta.seconds, 3600)
d["minutes"], d["seconds"] = divmod(rem, 60)
return fmt.format(**d)
# DataTime的寫入格式(?)
import datetime
start = datetime.datetime(2009,2,10,14,00)
end = datetime.datetime(2009,2,10,16,00)
delta = end-start
# 將日期轉字串
print(str(delta))
# 這個是我用lambda 將每個DateTime 轉成%d%m%Y
# DataFrame 是用apply函式, 然後用一行lambda 將每個值重新改一遍
df['A'].apply(lambda x: x.strftime('%d%m%Y'))
# 這個功能是我要將現有的時間, 每個時間 + 幾個小時 (Second, Minute沒試過, 留給大家嘗試)
from datetime import datetime, timedelta
nine_hours_from_now = datetime.now() + timedelta(hours=9)
# DataFrame的累加函式, 處裡工廠商品需要累加時很好用唷!
df.cumsum()
# 將重複值除去, 在取得一系列不重複的值, 若取商品清單應該是蠻好用的, 我自己是運用在取不同地點
df.drop_duplicates(subset=['UserData'])
# 好像是數這個DataFrame 總共有幾個Row
df.shape[0]
# 咱的SQL大魔王出現
# 我有點忘記, 不過我是希望<code><span class="kwd">
</span></code>SELECT DISTINCT Category, MAX(CreationDate) FROM MonitoringJob GROUP BY Category ORDER BY MAX(CreationDate) DESC, Category
# 將Time 型別 轉成秒 除 3600 = Hour
time_d.total_seconds() /3600
# 將Time 轉成 秒數
object.dt.total_seconds()
這個還沒真正寫過, 這個是任務上遇到需要交叉比對 所找的方法
但我已經先用別的方法解掉任務了, 先將連結留著
https://blog.csdn.net/hustqb/article/details/78086394
# 恩要注意,其實每個程式都要注意保留字要特別處裡, 我算是忘記SQL也有保留字
# 如果報錯, 留意一下是否為保留字, 須加上 `Table` 來處理特殊字, 這邊是 Delete
INSERT INTO `User`(`Name`,`Type`,`Email`, `Delete`, `UpdateTime`)
VALUES
("***", 1, "***",0, "2018-10-30 10:36:45");
#其時也不用每個都加, 只要保留字 Delete 那個欄位特別加就行
# 平常可以不用加
INSERT INTO User(Name,Type,Email, Remove, UpdateTime)
VALUES
("***", 1, "***",0, "2018-10-30 10:36:45");
# 可以用 IN 方法來篩選一系列的字
select * from Employee where Person IN ('余OO','鄭OO');
# 特別是If Else 時特別好用!
bool(dct) == (not True)
# 可以用apply 方式來顯示或對DF做動作
DataFrame.apply
Perform any type of operations.