看板 Python 關於我們 聯絡資訊
各位好, 我從公開資訊觀測站抓下來各家公司的財報, 但在季度的損益表中,有時候官網只提供全年數據,不提供單季數據 我必須在抓下來後自己手動將第四季的數據減去第一到三季的數據, 以求得第四季單季數據 但有時一家公司某年某季可能出現資料缺漏,就是四季缺了一兩季這樣 這些筆數必須跳過不計 我的寫法是這樣, 想請問有沒有更精簡一點的寫法,謝謝 def eval_Q4(row): if row['Q1'] is not None and \ row['Q2'] is not None and \ row['Q3'] is not None and \ row['full_year'] is not None: Q4 = row['full_year'] - row['Q3'] - row['Q2'] - row['Q1'] return Q4 df['Q4'] = df.apply(eval_Q4,axis=1) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.161.156 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1592909142.A.706.html
roccqqck: 追求精簡 別人看不懂又有何意義 06/23 18:47
roccqqck: 用df.loc[ (df[‘a’]==20) & (df[‘b’]==30)] 06/23 18:57
roccqqck: 類似這種方式 06/23 18:57
liquidbox: 瞭解,謝謝分享 06/23 19:15
sherees: 我覺得原文的寫法比較好閱讀 06/24 10:08
Czero: 追求精簡也沒有不好吧..另一種寫法給你參考,可以用df[‘q4 06/24 19:29
Czero: ’]=numpy.where (condition, yes..., no...) 06/24 19:29
roccqqck: 精簡 要更好閱讀 十年後自己還看得懂 別人看得懂 06/25 00:11
roccqqck: 如果不好懂的寫法 至少要這種寫法 跑得更快 06/25 00:12