タグ

Pythonに関するmasudaKのブックマーク (222)

  • GitHub - google/skylark: Skylark in Go: the Skylark configuration language, implemented in Go [MOVED to go.starlark.net]

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - google/skylark: Skylark in Go: the Skylark configuration language, implemented in Go [MOVED to go.starlark.net]
  • (mac) (anyenv) (pyenv) source .bashrc でエラーになって - チラウラヤーン3号

    $ source ~/.bashrc pyenv: -bash: command not found [プロセスが完了しました] brew update; brew upgrade; しても同じ。 .bash_profile には # anyenv export PATH="$HOME/.anyenv/bin:$PAT eval "$(anyenv init -)" # pyenv export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" export PYENV_VIRTUALENVWRAPPER_PREFER_PYVENV="true" が書いてある。 .bashrc を見直すと、 source `which virtualenvwrapper.sh` の1行が

    (mac) (anyenv) (pyenv) source .bashrc でエラーになって - チラウラヤーン3号
    masudaK
    masudaK 2017/11/22
    Pythonの仮想環境構築って複雑すぎなんだよなー。ほんと初見殺しすぎ。
  • PythonでCSVを高速&省メモリに読みたい - tkm2261's blog

    今日はPython (Pandas)で高速にCSVを読むことに挑戦したいと思います。 Kaggleに参加するたびに、イライラしていたので各実装の白黒はっきりさせようと思います。 R使いが羨ましいなぁと思う第一位がCSV読込が簡単に並列出来て速いことなので、 なんとかGILのあるPythonでも高速に読み込みたいと思います。 ただ、この検証ではコーディング量が多いものは検証しません。 CSV読込は頻出するので、フットワークの軽さが重要です。(オレオレライブラリ嫌い) Pickleは早いけど。。。 結論はDask使おう! 検証環境 データ 速度検証 pandas.read_csv() pandas.read_csv() (dtype指定) pandas.read_csv() (gzip圧縮) numpy.genfromtxt() pandas.read_csv() (chunksize指定 +

    PythonでCSVを高速&省メモリに読みたい - tkm2261's blog
    masudaK
    masudaK 2017/08/04
    知っとくと何かと便利そう。ただ、CSVにはあまり縛られたくない。
  • Pythonメモ : better-exceptionsで例外情報を見やすくする - もた日記

    better-exceptions インストール 使い方 better-exceptions github.com better-exceptionsを使用すると例外情報が図のようにみやすくなる。 インストール pipでインストールできるので下記コマンドを実行。 $ pip install better_exceptions 使い方 以下のようにbetter_exceptionsをインポートすればよい。 import better_exceptions 試しに下記コードを実行した場合の出力を比べてみる。 import better_exceptions foo = 52 def shallow(a, b): deep(a + b) def deep(val): global foo assert val > 10 and foo == 60 bar = foo - 50 shallow(b

    Pythonメモ : better-exceptionsで例外情報を見やすくする - もた日記
    masudaK
    masudaK 2017/08/03
    お、入れてみるかな
  • Pandasを使ったデータ操作の基本 - ぴよぴよ.py

    データ分析の会社に転職してから3ヶ月。 最初の1ヶ月はPandasの扱いに当に困ったので、 昔メモしてたことを簡単にブログに記録しておく(o ・ω・)ノ 【追記】2017/07/31 0:36 データが一部間違ってたので修正しました Pandasとは pandasでよく使う型 テストデータについて 余談 Pandasでのデータ操作入門 pandasのload データ(csv)のロード データのサイズ データのカラム 行列から必要な列(カラム)を取り出す 条件にマッチするデータを取り出す 1. DataFrame.queryで取り出す True/FalseのSeries型を指定し、Trueの行だけを取り出す 追記(2017/12/14) 行列から必要な行番号を指定してを取り出す グループ分けと集計 新たな列を追加する 固有値を追加する 他の列を加工して新たな列を作る 他の複数列を加工して新

    Pandasを使ったデータ操作の基本 - ぴよぴよ.py
    masudaK
    masudaK 2017/07/31
    すごく分かりやすい
  • ログ出力のための print と import logging はやめてほしい - Qiita

    はじめに Python入門系の記事では概して、Pythonのロギング機能の紹介で最初にlogging.debug()といったloggingモジュール付属の関数を呼ぶ方法を案内しています。 Python家が提供するloggingの「基チュートリアル」でもこの点で大差ありません。Python家の基チュートリアルでは、print()関数を使用する方法もロギングの手段として有効であるとし、タスクに応じてprint()やlogging.debug()を使いわけよう、という流れで記述されています。 コマンドラインスクリプトやプログラムで普通に使う、コンソール出力の表示 : print() そのような「基」の説明の後「上級」チュートリアルになってようやく、Python言語付属のロギングメカニズムの説明が始まります。「上級」では4+1種類のデータ構造が紹介され、ここで「基」で多用されていたlo

    ログ出力のための print と import logging はやめてほしい - Qiita
  • Essays Ken Reitz

    Pipenv is an experimental project that aims to bring the best of all packaging worlds to the Python world. It harnesses Pipfile, pip, and virtualenv into one single toolchain. It features very pretty terminal colors. It automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your Pipfile as you install/uninstall packages. The lock command generates a

    Essays Ken Reitz
    masudaK
    masudaK 2017/01/23
    使ってみないとなんとも言えないけど、pyenv使って、pipenv使って、pip使ったらなかなかゴチャゴチャしそう。でも、bundlerって考えればそうでもないのか。
  • Ansible and Dynamic Inventory

    masudaK
    masudaK 2017/01/23
    the Python example of Ansible and Dynamic Inventory.
  • 深入りしないCython入門 - Qiita

    Cythonとは? Pythonは処理速度は決して早くない、むしろ遅い部類である。 そこで、C/C++に変換することにより高速化しようというのがCythonである。 低級言語のC/C++(昔は高級言語だったが、現在は低級言語といって良いだろう)に変換してネイティブコンパイルするのだから、速いに決まっている。 この記事の目的 「Cythonは難しい」、「CythonはC/C++の知識が必要」という印象があるだろう。答えは「Yes」である。 しかし、その答えはCythonをフルに使いこなす事が前提である。 実はCythonは、C/C++をそんなに知らなくても、ちょっとした高速化には充分な恩恵を得られるように設計されているのだ。 しかし、無闇にCythonを使っても「あまり高速化されない」、「移行がすごく大変」と散々な結果になるだろう。そこら辺のポイントを踏まえ、C/C++をあまり知らない初心者

    深入りしないCython入門 - Qiita
  • 「スマートPythonプログラミング」という本を書きました - CUBE SUGAR CONTAINER

    表題の通り Pythonを書いたので、そのご紹介です! スマートPythonプログラミング: Pythonのより良い書き方を学ぶ 作者: もみじあめ発売日: 2016/03/12メディア: Kindle版この商品を含むブログ (1件) を見る どんななの? ひと言で表すと、自信を持って Python を書けるようになるためのです。 スマートPythonプログラミングなので、略してスマパイって呼んでください。 こんな人におすすめ なんとなく書いてなんとなく動いているコードに不安を覚えている方 入門書は読み終わったけど次に何をして良いか分からない方 Python の初心者から中級者にステップアップしたい方 ベストプラクティスとかアンチパターンって言葉が好きな方 上記に当てはまる方には、書が少しでも参考になると思います。 どんなことが書いてあるの? 自分が Python を学び始めた

    「スマートPythonプログラミング」という本を書きました - CUBE SUGAR CONTAINER
  • PythonでPandasのPlot機能を使えばデータ加工からグラフ作成までマジでシームレス - Qiita

    Pandasのグラフ描画機能 この記事ではPandasのPlot機能について扱います。 Pandasはデータの加工・集計のためのツールとしてその有用性が広く知られていますが、同時に優れた可視化機能を備えているということは、意外にあまり知られていません。 この機能は Pandas.DataFrame.plot() もしくは Pandas Plot と呼ばれるものです。 Pandas Plotを使いこなすことが出来るようになれば、 データの読み込み、保持 データの加工 データの集計 データの可視化 というデータ分析の一連のプロセスを全てPandasで完結させることが出来る、つまり分析の「揺りかごから墓場まで」を実現することが出来ます。 Pandasのプロット以外の機能について この記事ではPandasのデータハンドリングなどに関わる機能は説明しません。 そちらにも興味がある方は下記の記事などを

    PythonでPandasのPlot機能を使えばデータ加工からグラフ作成までマジでシームレス - Qiita
    masudaK
    masudaK 2016/03/02
    pandasはわりと好き
  • Pythonのデコレータを理解するための12Step - Qiita

    古い記事なんですが, Pythonのデコレータの概念をつかむには良記事だったので和訳意訳してみました. http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/ Step1. 関数 これは基ですね. Pythonにおいて関数はdefキーワードにより関数名とパラメータのリスト(任意)とともに定義できます.また括弧付きで名前を指定することで実行できます. Step2. スコープ Pythonでは関数を作ると新しいスコープが作られます.言い方を変えるとそれぞれの関数がそれぞれに名前空間を持つということです. Pythonではこれらを確認することのできる組み込み関数も用意されていて, locals()で自身の持つローカルな名前空間の値を辞書形式で返却します.

    Pythonのデコレータを理解するための12Step - Qiita
  • Pythonっぽい書き方(イディオム) Part1 - Qiita

    Help us understand the problem. What is going on with this article?

    Pythonっぽい書き方(イディオム) Part1 - Qiita
  • PythonでStackとQueue - Qiita

    今回はPythonチュートリアルを1~9章までオンラインで読んでみてStackとQueueならなんとなくできそうだったのでコードを書いてみました。 Stack: Stackの他の呼び名でLIFO(Last In First Out)というのがありますが、その名のとおり最後に入ったエレメント(要素)を出す時には最初に出すデータストラクチャーです。Stackをインプリメントするにあたり必要になるファンクション(関数)は2つあり、エレメントをStackの末尾に入れる関数でpush()とエレメントをStackの末尾から出すpop()です。イメージとしてはを積み上げて取る時は積まれたの一番上から取っていくと思って頂ければいいと思います。モジュールはこんな感じで説明は後で書いています。 class Stack: def __init__(self, stack = None): if type(s

    PythonでStackとQueue - Qiita
  • Pythonで単方向連結リストを実装した - フツーって言うなぁ!

    特に更新するようなこともないので,前に書いたコードを晒しておきます. Pythonで単方向連結リストを実装しました. といっても,連結リストは挿入,削除,要素の取得ぐらいができれば任意の処理が可能なので,どちらかと言うとPythonicなコードを心がけました. gistaf03c4e31fc763cffec4 特に,特殊メソッドについては,今まで適当に使っていた部分が多かったので勉強になりました. また,このコードでは,doctestというモジュールを使っています. doctestでは,コメントにREPLっぽくコードを書き,プログラム*1を実行すると,その部分がテストとして実行され,期待される出力と比較されるようになっています. このコードは正しい(はず)なので実行しても何も起こりませんが,期待されない出力がなされた場合にはアラートが表示されます. あと,全然関係ないですが,最近,オライリ

    Pythonで単方向連結リストを実装した - フツーって言うなぁ!
  • 私が選ぶ2015年の”新しい”Pythonモジュール トップ5 | POSTD

    最近、このモジュールをに紹介したところ、そのシンプルさと実用性に驚いていました。 joblib joblibの存在は以前から知ってはいたものの、実際のところはよく理解しておらず、いろいろな機能を寄せ集めたようなモジュールだと思っていました。まあ、その印象は今もあまり変わりませんが、実は非常に便利なモジュールだったのです。私は Flowminder の同僚から再度joblibを勧められて、このモジュールをデータ分析用のコードに幅広く使用しました。では、その機能について紹介しましょう。joblibは大きく分けて、 キャッシング 、 並列化 、 永続化 (データの保存と読み込み)の3つの機能から成ります。実を言うと、私はまだ並列プログラミングの機能は使ったことがないのですが、あとの2つの機能は頻繁に使ってきました。 キャッシング機能とは、シンプルなデコレータを使って、関数を簡単に”メモ化”する

    私が選ぶ2015年の”新しい”Pythonモジュール トップ5 | POSTD
  • Pythonで書ける便利な書き方を紹介します。 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおける便利記法を書いてみます。 他の言語しか使ったこと無い人もぜひ ※1/25間違いかと思われる箇所の加筆修正を実施 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) zip(同時に2つのオブジェクトでループ) yield(途中で一旦返す) for-else(forで途中で停止しない場合の条件) リスト内包表記 Collections Counter default dict(辞書のデフォルト値設定) Sort(ソート) sorted if文の書き方 Fileに関する処理(with) in(オブジェクトに存在しているかどうか) 関数について 返り値を複数返す。 関数のオブジェクト化 参考文献 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) enu

    Pythonで書ける便利な書き方を紹介します。 - のんびりしているエンジニアの日記
    masudaK
    masudaK 2016/01/25
    便利よね
  • Pythonでprintの結果をリダイレクトする場合に出力のエンコーディングを指定する方法 - 西尾泰和のはてなダイアリー

    Java-ja温泉でちょうどエンコーディングの話で盛り上がっていたので@whosaysniに聞いてみた。print文でunicodeオブジェクトを出力しようとすると、出力先のシェルのエンコーディングでバイト列に変換してから出力される。 tmp$ cat > tmp.py print u'\u307b\u3052' tmp$ python tmp.py ほげしかし、シェルの側でリダイレクトをしていると、シェルと違ってファイルのエンコーディングは簡単に取得できないので「エンコーディングわかんないから何で出したらいいかわかんないや。中身がasciiだったらそのまま出してもいいか」とasciiに変換しようとして失敗する。 tmp$ python tmp.py > tmp.txt Traceback (most recent call last): File "tmp.py", line 1, in

    Pythonでprintの結果をリダイレクトする場合に出力のエンコーディングを指定する方法 - 西尾泰和のはてなダイアリー
  • コマンドプロンプトでのPythonの文字コードについて - 偏った言語信者の垂れ流し

    Pythonでコマンドツールを作ってて、パイプでつなげたりするときに色々はまったのでメモ。 WindowsXPでPython2.7。 # coding: utf-8 def main(): print u"テスト" # PYTHONIOENCODINGでエンコードされる print "テスト" # このファイルの文字コード(utf-8) print u"テスト".encode('cp932') # cp932にエンコードされる if __name__ == '__main__': main() これをコマンドプロンプトから実行するとこうなる。 >python test.py テスト 繝・せ繝 テストこの出力を、文字化けがない状態でファイルに書き出したい。 ちなみに、出力をリダイレクトしようとするとエラーになる。 >python test.py > test.txt Traceback (m

  • Pythonで単語の数え上げとかするならCounterを使うと便利なはなし - Qiita

    Mecabで遊んでて、いいのないかなって思ったら見つけたのでメモ。 テキストでもCSVでも何でも良いですが、重複の存在するようなリストで、各要素の出現頻度を数えるようなコードを書きたいことはまれによくあると思います。 辞書を使って素直に実装すると data = ['aaa', 'bbb', 'ccc', 'aaa', 'ddd'] word_and_counts = {} for word in data: if word_and_counts.has_key(word): word_and_counts[word] += 1 else: word_and_counts[word] = 1 for w, c in sorted(word_and_counts.iteritems(), key=lambda x: x[1], reverse=True): print w, c # => #

    Pythonで単語の数え上げとかするならCounterを使うと便利なはなし - Qiita
    masudaK
    masudaK 2015/12/11
    collectionsモジュール便利や。