Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
データサイエンスとかけ離れた恣意的な表ですが、Jupyter Notebookを使えて損はないのは本当です。 RStudio (pythonはSpyder)もよいですが、 セクシーさ 再現性確保の観点で見るとマークダウンでコメントが残せるJupyter Notebookの方が分があります。 データサイエンティストでなくてもコーディングの過程が保存できるのでおすすめです。 Jupyter Notebookとは? Pythonには元からインタラクティブシェルがついていますが、それで物足りない人たちがIPython(Interactive Python)というインタラクティブシェルを作っていました。 IPythonの使い方より特徴を抜粋 セル指向のコーディング: セルという単位でまとめて実行できます 予約語や変数、モジュール名などのタブ補完 オブジェクトの調査: オブジェクト名に?をつけると詳細
これなに Binderという無料サービスの紹介をします。 github上のJupyter notebook のリポジトリから、実行可能なサービスを簡単に試せます。 つまり、ブラウザだけでいろいろな実行環境を作ることができます。 サンプルで試してみる サンプルとして、私の公開しているパズルを解くSaitoTsutomu/OptForPuzzleを試してみましょう。 手順 http://mybinder.org/ を開いてください。 Build a repositoryに「SaitoTsutomu/OptForPuzzle」と入力して、submitボタンを押してください。 自動的にdockerのイメージが作成され状態が更新されます。 completedが緑になったら、右上のlaunchボタンを押してください。 Jupyter notebookが起動するので、適当に開いて実行してみましょう。 G
from itertools import chain, combinations_with_replacement as combi_r def solve(d): n=map(int, d.split(',')) s=set(n) a=[(x,y,z) for x in xrange(1, n[0]+1) for y in xrange(x, n[-1]+1) for z in xrange(max(y, n[-1]/3), n[-1]+1) if s == s&{sum(c) for c in chain(*[combi_r((x,y,z), r) for r in (1,2,3)])}] return not a and 'none' or a[1:] and 'many' or ','.join(map(str, a[0])) from itertools import * de
最近、いろいろな言語で続々、実装されていく関数型プログラミング技法。 今回は、Python2.7 に標準( 一部、import )に備わっていて、Python で いますぐにでもおこなえる 関数型プログラミング技法の実現手法 & 利用モジュール と メソッドについて、1ヶ所にまとめて整理してみた。 ( 目次 ) map() で 高階関数を実現 filter() で 高階関数を実現 reduce() で 高階関数を実現 & 再帰呼び出し関数 closure で 高階関数を実現 functools.partial() でカリー化(関数の部分適用)を実現 generator(ジェネレータ式)で遅延評価を実装 yield(イールド式)で遅延評価を実現 以下のコードは、この記事末尾に記載した数多くの参考ウェブサイトを参考、引用しています map() は、関数を引数に受け取る「高階関数」(関数型言語)
Windows 版 neovim で python3 (deoplete.nvim) を無理やり使う どうしても windows 環境を整えたかったので,色々試したらできるようになったものの,正攻法とは言い難いのでメモ書き程度に. もし,もっと筋の良い解決方法をご存知であれば,コメントしていただけると幸いです. neovimのインストール 公式 に従ってインストール. 特につまづくところはないはず. has('python3') の返り値を1にする この Issue に書いてあるように, windows 環境では has('python3') の返り値が 0. python3 系をインストールして, pip3.exe install neovim を実行する. このコメント の設定を init.vim に追加する. diff --git a/usr/local/share/nvim/run
books = ['book1.xlsx', 'book2.xlsx'] df_list = [] for book in books: file = pd.ExcelFile(book) # bookを読む for sheet in file.sheet_names: df_list.append(file.parse(sheet)) # シートを順々にデータフレーム化
# import lib import pandas as pd import numpy as np # create data dates = pd.date_range("20130101", freq='D', periods=6) df = pd.DataFrame(np.random.randn(6,4),index = dates, columns = list("ABCD")) # set data fileName = "hoge.xlsx" writer = pd.ExcelWriter(fileName) df.to_excel(writer, sheet_name="hoge1") df.T.to_excel(writer, sheet_name="hoge2") workbook = writer.book worksheet1 = writer.sheets['
Pythonのアットマーク(@)を使った記法であるデコレータについてまとめる。難しいと思われているかもしれないデコレータだが、デコレータの種類(パターン)を意識することが理解の近道だと思ったので今回は種類別にデコレータの簡単な実装例をあげて解説をしていこうと思う。 対象者 Python のデコレータを学んだことがあるがたまに分からなくなる デコレータを自作しろと言われたらスラスラかけるか不安 知っていると良いこと 関数のスコープ 第一級関数 *args , **kwargs のような記法 デコレータ関数の種類分け 以下2つの要因でデコレータ関数の種類分けが可能だと思われる。 引数を取るか否か ラッパー関数を返すか否か よって組み合わせから計4つのパターンが考えられるが、今回は "引数を取らずラッパー関数を返さないデコレータ"を除いた3つを紹介する。1つ除外する理由は簡単すぎて意味がなさそう
これはiRidge Advent Calendarの七日目の記事です。 この記事では、Pythonで実装されたLisp方言のHyを紹介します。 動機 株式会社アイリッジのサーバサイドエンジニア、tanaka.lispです。ウェブとPythonの世界を見てみたいと思い、Pythonの会社であるアイリッジでお仕事しています。 突然ですが、ぼくがこよなく愛する言語はCommon Lispです。業務ではもっぱらPythonを読んだり書いたりするわけですが、PythonはLispではないので、自動インデントに翻弄されたり、if pred1 and pred2: ...をif (and pred1 pred2): ...なんて書いてしまったりと苦労が絶えません。Lisper特有の禁断症状が顔を出すこともあります。S式のことを考え始めたり、おもむろに"Hyperspec 関数名"でググったり、Emacs
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く