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. Dismiss alert
$ 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行が
今日は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指定 +
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
データ分析の会社に転職してから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) 行列から必要な行番号を指定してを取り出す グループ分けと集計 新たな列を追加する 固有値を追加する 他の列を加工して新たな列を作る 他の複数列を加工して新
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Python入門系の記事では概して、Pythonのロギング機能の紹介で最初にlogging.debug()といったloggingモジュール付属の関数を呼ぶ方法を案内しています。 Python本家が提供するloggingの「基本チュートリアル」でもこの点で大差ありません。Python本家の基本チュートリアルでは、print()関数を使用する方法もロギングの手段として有効であるとし、タスクに応じてprint()やlogging.debug()を使いわけよう、という流れで記述されています。 コマンドラインスクリプトやプログラムで普通
kennethreitz.org Artificial Intelligence Essays Music Photos Poetry Software Talks Contact Kenneth Reitz My Family Great Books Mental Health On Music A Concise List of Personal Values Yoga & Meditation This website is a work–in–progress; it is a place where I share my thoughts, ideas, and projects with the world. Thanks for stopping by! I am a software engineer, writer, and speaker, and I am passi
Cythonとは? Pythonは処理速度は決して早くない、むしろ遅い部類である。 そこで、C/C++に変換することにより高速化しようというのがCythonである。 低級言語のC/C++(昔は高級言語だったが、現在は低級言語といって良いだろう)に変換してネイティブコンパイルするのだから、速いに決まっている。 この記事の目的 「Cythonは難しい」、「CythonはC/C++の知識が必要」という印象があるだろう。答えは「Yes」である。 しかし、その答えはCythonをフルに使いこなす事が前提である。 実はCythonは、C/C++をそんなに知らなくても、ちょっとした高速化には充分な恩恵を得られるように設計されているのだ。 しかし、無闇にCythonを使っても「あまり高速化されない」、「移行がすごく大変」と散々な結果になるだろう。そこら辺のポイントを踏まえ、C/C++をあまり知らない初心者
表題の通り Python の本を書いたので、そのご紹介です! スマートPythonプログラミング: Pythonのより良い書き方を学ぶ 作者: もみじあめ発売日: 2016/03/12メディア: Kindle版この商品を含むブログ (1件) を見る どんな本なの? ひと言で表すと、自信を持って Python を書けるようになるための本です。 スマートPythonプログラミングなので、略してスマパイって呼んでください。 こんな人におすすめ なんとなく書いてなんとなく動いているコードに不安を覚えている方 入門書は読み終わったけど次に何をして良いか分からない方 Python の初心者から中級者にステップアップしたい方 ベストプラクティスとかアンチパターンって言葉が好きな方 上記に当てはまる方には、本書が少しでも参考になると思います。 どんなことが書いてあるの? 自分が Python を学び始めた
Pandasのグラフ描画機能 この記事ではPandasのPlot機能について扱います。 Pandasはデータの加工・集計のためのツールとしてその有用性が広く知られていますが、同時に優れた可視化機能を備えているということは、意外にあまり知られていません。 この機能は Pandas.DataFrame.plot() もしくは Pandas Plot と呼ばれるものです。 Pandas Plotを使いこなすことが出来るようになれば、 データの読み込み、保持 データの加工 データの集計 データの可視化 というデータ分析の一連のプロセスを全てPandasで完結させることが出来る、つまり分析の「揺りかごから墓場まで」を実現することが出来ます。 Pandasのプロット以外の機能について この記事ではPandasのデータハンドリングなどに関わる機能は説明しません。 そちらにも興味がある方は下記の記事などを
今回は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
特に更新するようなこともないので,前に書いたコードを晒しておきます. Pythonで単方向連結リストを実装しました. といっても,連結リストは挿入,削除,要素の取得ぐらいができれば任意の処理が可能なので,どちらかと言うとPythonicなコードを心がけました. gistaf03c4e31fc763cffec4 特に,特殊メソッドについては,今まで適当に使っていた部分が多かったので勉強になりました. また,このコードでは,doctestというモジュールを使っています. doctestでは,コメントにREPLっぽくコードを書き,プログラム*1を実行すると,その部分がテストとして実行され,期待される出力と比較されるようになっています. このコードは正しい(はず)なので実行しても何も起こりませんが,期待されない出力がなされた場合にはアラートが表示されます. あと,全然関係ないですが,最近,オライリ
最近、このモジュールを妻に紹介したところ、そのシンプルさと実用性に驚いていました。 joblib joblibの存在は以前から知ってはいたものの、実際のところはよく理解しておらず、いろいろな機能を寄せ集めたようなモジュールだと思っていました。まあ、その印象は今もあまり変わりませんが、実は非常に便利なモジュールだったのです。私は Flowminder の同僚から再度joblibを勧められて、このモジュールをデータ分析用のコードに幅広く使用しました。では、その機能について紹介しましょう。joblibは大きく分けて、 キャッシング 、 並列化 、 永続化 (データの保存と読み込み)の3つの機能から成ります。実を言うと、私はまだ並列プログラミングの機能は使ったことがないのですが、あとの2つの機能は頻繁に使ってきました。 キャッシング機能とは、シンプルなデコレータを使って、関数を簡単に”メモ化”する
皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおける便利記法を書いてみます。 他の言語しか使ったこと無い人もぜひ ※1/25間違いかと思われる箇所の加筆修正を実施 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) zip(同時に2つのオブジェクトでループ) yield(途中で一旦返す) for-else(forで途中で停止しない場合の条件) リスト内包表記 Collections Counter default dict(辞書のデフォルト値設定) Sort(ソート) sorted if文の書き方 Fileに関する処理(with) in(オブジェクトに存在しているかどうか) 関数について 返り値を複数返す。 関数のオブジェクト化 参考文献 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) enu
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でコマンドツールを作ってて、パイプでつなげたりするときに色々はまったのでメモ。 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
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 # => #
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く