yuuho.wiki

カオスの欠片を集めて知恵の泉を作る

ユーザ用ツール

サイト用ツール


tips:python:start

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
tips:python:start [2022/05/27 09:07] – [Python] yuuhotips:python:start [2025/03/19 21:56] (現在) – [Python] yuuho
行 7: 行 7:
  
 === 配下ページ === === 配下ページ ===
-  * 環境構築+  * [[.:env:start|環境構築]]
   * [[.:numpy:start|NumPy]]   * [[.:numpy:start|NumPy]]
   * [[.:opencv:start|opencv]]   * [[.:opencv:start|opencv]]
行 16: 行 16:
   * [[.:pptx:start|python-pptx]]   * [[.:pptx:start|python-pptx]]
   * [[.:detectron2:start|detectron2]]   * [[.:detectron2:start|detectron2]]
 +  * [[.:autogluon:start|autogluon]]
  
 +
 +
 +===== 保存関係 =====
 +
 +pickle
 +<code python>
 +with Path('hoge.pkl').open('wb') as f:
 +    pickle.dump(save_obj, f)
 +    
 +with Path('hoge.pkl').open('rb') as f:
 +    save_obj = pickle.load(f)
 +</code>
 +
 +npz
 +<code python>
 +np.savez( Path('hoge.npz'), **{'a':array_a, 'b':array_b} )
 +
 +with np.load(Path('hoge.npz'), allow_pickle=True) as load_dict:
 +    load_dict = {k:v for k,v in load_dict.items()}
 +</code>
  
 ===== Jupyter ===== ===== Jupyter =====
行 313: 行 334:
 <code python> <code python>
 LT = [[*l] for l in zip(*L)] LT = [[*l] for l in zip(*L)]
 +</code>
 +
 +
 +=== 配列から同じ個数ずつ取り出し ===
 +
 +ここまでは、端数が出たとき最後の配列が少なくなる状況だった。
 +たとえば ''21=[5,5,5,5,1]'' みたいになる。これを ''21=[5,4,4,4,4]'' としたい。
 +その場合、
 +<code python>
 +# target : 配列
 +num_split = 3
 +nums = [ len(target)//num_split+int(i<len(target)%num_split) for i in range(num_split)]
 +splits = [ (slice(l[0],l[0]+n),l.append(l.pop()+n))[0] for l in [[0]] for n in nums ]
 +splitted = [target[sl] for sl in splits]
 +
 +num_split = 3
 +nums = [ len(target)//num_split+int(i<len(target)%num_split) for i in range(num_split)]
 +splitted = [ (target[l[0]:l[0]+n], l.append(l.pop()+n))[0] for l in [[0]] for n in nums ]
 +
 +</code>
 +
 +=== generatorの展開 ===
 +
 +<code python>
 +# * を使うのが良い。
 +# 複数の generator から展開してまとめるときは
 +[*hoge, *fuga, *piyo]
 +
 +# 無数のgeneratorから展開してまとめるときは
 +sum([[*g] for g in g_list],[])
 +
 </code> </code>
 ==== 内包表記の旅 ==== ==== 内包表記の旅 ====
行 584: 行 636:
     return 'hoge'     return 'hoge'
 </code> </code>
 +
 +===== デバッグテクニック =====
 +
tips/python/start.1653642473.txt.gz · 最終更新: 2022/05/27 09:07 by yuuho