kumilog.net

データ分析やプログラミングの話などを書いています。

Python

Pythonの知っておくと良い細かい処理速度の違い8個

はじめに 標準入力 input と sys.stdin.readline ソート sort と sorted ソートの key ループ for と while リスト リストの初期化 二次元配列の場合 リストの値参照 リストへの値追加 それぞれの処理速度 まとめ はじめに 最近、PythonでAtCoderなどの競技…

ダイクストラ法

はじめに ダイクストラ法 計算量 コード 実行例 例題 SoundHound Inc. Programming Contest 2018 D - Saving Snuuk 問題 解法 ABC 035 D - トレジャーハント 問題 解法 はじめに 最短経路を求めるアルゴリズムであるダイクストラ法をPythonで実装して、例題…

Union Find

はじめに Union Find Pythonで実装 経路圧縮 最終的なコード 例題 ATC 001 B - Union Find 問題 解法 ABC 049 D - 連結 / Connectivity 問題 解法 はじめに 素集合データ構造を表すUnion FindアルゴリズムをPythonで実装して、例題を問いてみます。 追記 例…

尺取り法

Pythonのコードを交えて、尺取り法について説明します。 はじめに 尺取り法 ABC 032 C - 列 問題 解法 コード 参考 その他の例題 ARC 022 B - 細長いお菓子 問題 解法 コード ABC 098 D - Xor Sum 2 問題 解法 コード はじめに 先日、初めてAtCoderに参加*1…

PythonとSheets API v4でGoogleスプレッドシートを読み書きする

PythonからSheets APIを使ってGoogleスプレッドシートを操作してみました。Pythonのクイックスタートの内容を中心に紹介します。 Google Sheets API を使うための準備 Google API コンソールでSheets APIを有効化 認証情報を作成 Pythonパッケージのインスト…

NumPyでの画像のData Augmentationまとめ

Python Advent Calendar 2017 の 18日目 の記事です。 画像のData Augmentationの手法をNumpy(とSciPy)で実装し、まとめてみました。 使うデータ Data Augmentation Horizontal Flip Vertical Flip Random Crop Scale Augmentation Random Rotation Cutout R…

MacOSでChainerを使うときのWarningに対処する

MacOSでデフォルトのNumpyとChainerを使うと、精度が落ちる問題があり、Warningが発生します。OpenBLAS対応のNumpyを使うことで対処します。 OpenBLASのインストール OpenBLAS対応のNumPyを再インストール NumPyのアンインストール NumPyをソースからインス…

ImageNetの画像をダウンロードする

ImageNetは大規模な画像データベースで、現在2万クラス1,400万枚を超える画像があります。クラスにはWordNetの単語を用いています。CNNがブレークしたILSVRCというコンペで用いられたりと、ベンチマークとして有名なデータセットです。 画像のダウンロードは…

Python 3でファイル読み込み時のUnicodeDecodeErrorを回避する

Pythonでファイルを読み込むときは以下のような処理でいけますが... with open('file/to/path', 'r') as f: for line in f: line = line.strip() # つづきの処理 読み込んでいる途中で、utf-8ではない文字が含まれていると、UnicodeDecodeErrorが発生するこ…

Python+OpenCVで動画を扱う

Ubuntu 16.04にOpenCVとFFmepgをインストールした環境を用いました。詳細は以下の記事を参照してください。 xkumiyu.hatenablog.com