日々変動する株価データを題材にPythonにおけるデータ分析のいろはを学んでいく本連載。最終回はローソク足とともにこれまでに計算したオシレーターなど一式を1つのグラフで表示する方法や過去の株価データを基にした株価予測の方法を解説します。
![「Python」×「株価データ」で学ぶデータ分析のいろは](https://cdn-ak-scissors.b.st-hatena.com/image/square/0b6fdd7b3bdbcb7a53e8a02ea0b23dea656c3832/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fimages%2Fog_img_series.gif)
1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご本人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67」という言語を受け継いだもので、私が作った「Smalltalk」と関係ないのだとケイさんは考えています。 オブジェクト指向という名称は確かにアラン・ケイさんに由来するものです。しかし、C++とJavaで使われている現代のオブジェクト指向は当初のと結構違います。ケイさん自身もこれらの言語を後継者として認めないです。では、ケイさん曰くC++とJavaの親であるSimula 67という言語はどんな言語でしょうか。ここで、簡単なサンプルコードを見てみましょう。 Class Recta
Python のイテレータとジェネレータという概念は意外と分かりにくい。 今回は、実は深い関わり合いを持った両者についてまとめてみることにする。 というのも、最終的にジェネレータを理解するにはイテレータへの理解が欠かせないためだ。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G1036 $ python --version Python 3.6.3 イテレータとは まず、そもそもイテレータとは何者だろうか。 それについて、いくつかの側面から考えてみることにしよう。 使い方から考える 最初は、使い方という側面からイテレータとは何かを考えてみよう。 このとき、答えは「要素を一つずつ取り出すことのできるオブジェクト」になる。 実際に、使い方からイテレータについて見ていこう。
昨日 mysqlclient 1.3.10 をリリースしました。 今までは Windows 版の wheel は Python 2.7 だけに提供していたのですが、 1.3.10 からは 3.5 と 3.6 だけに提供して 2.7 はドロップしました。 そもそも今まで Python 3 に wheel を提供できてなかったのは、 MySQL Connector/C の VC14 (VS2015) に対応したライブラリが提供されておらず、 Python 3.5, 3.6 は VC14 でビルドされていて VC12 用のライブラリにリンクすると大量のエラーでるわ自分で手順読みながら頑張って MySQL をソースからビルドしてもなんか動かないわで諦めてたからです。 それが、2年待て、よーーーやく MySQL Connector/C 6.1.9 から VC14 のライブラリが同梱される用になりまし
pythonの環境構築について "python 環境構築"でググると20万件くらいヒットしますが、割と内容が古いです。 タイトルにはデータサイエンティストと書いてありますが、データサイエンティスト以外にもanacondaはおすすめです。 2.x or 3.x? 3.xは動かないライブラリが多いので2.x推奨 > 3.xで動かないライブラリがある、くらいまで来ました。 easy_installでpipを入れて、setuptoolsも入れて、でもwheelというのもあって... > 古いです。 virtualenv 必須 > そんなこともないです。 winでは64bitは不具合が多いので32bit推奨 > 古いです。 winでは非公式バイナリからダウンロードしてインストール > お世話になりましたが、最近は使っていません。 2016版 OS毎python環境構築法決定版 Windows: an
Pythonでマルコフ連鎖モンテカルロ法(MCMC)を実行できるライブラリ、PyMC3のチュートリアルの訳を書いてみました。タイトルにあるように、原文をそのままではなく意訳を超えた「超訳」です 原文のURL http://pymc-devs.github.io/pymc3/getting_started/ イントロダクション(だいぶ省略) 確率的プログラミング(Probabilistic programming : PP)は柔軟なベイズ統計モデルをプログラムで行うことを可能にします。 PyMC3は新しいオープンソースの確率プログラミングフレームワークで、No-U-Turn Sampler (NUTS; Hoffman, 2014)や、ハミルトニアンモンテカルロ法 (HMC; Duane, 1987)のパラメーターの自己チューニングなど、次世代のマルコフ連鎖モンテカルロ法(MCMC)が使える
この記事の目指すところ 現在 Python はバージョン 2.x 系と 3.x 系という、一部に互換性のないふたつのメジャーバージョンが併用されている。 その上で、この記事にはふたつの目的がある。 ひとつ目は、2.x 系と 3.x 系の違いについてまとめること。 現状、それぞれのバージョン毎の違いはまとまっているところが少ない。 自分用に、このページだけ見ればひと通り分かる!っていうものがほしかった。 ふたつ目は、2.x 系と 3.x 系の違いを吸収するソースコードの書き方についてまとめること。 こちらも Web 上にナレッジがあまりまとまっていない。 これについては今 python-future というパッケージがアツい。 尚、サポートするバージョンは以下の通り。 2.x 系: 2.6 と 2.7 3.x 系: 3.3 と 3.4 本題に入る前に、最近の Python 事情についてまとめ
Dropboxが手がける独自のPython実装「Pyston」開発チームは2月24日、最新版「Pyston 0.3」を公開した。互換性、性能にフォーカスした改善が図られている。性能ではCPythonに匹敵するレベルになったと報告している。 Dropbox社内ではPythonが利用されているが、問題の規模が大きくなるにつれてパフォーマンス的な問題が見られるようになったという。そのため、独自に高速なPython実装を開発することになったそうだ。Pystonは高い性能と互換性を目標とし、LLVMやJIT(Just In Time)などの技術を採用する。Python 2.7と互換性があり、Pythonの標準実装(CPython)のC拡張モジュールをネイティブでサポートする。対応プラットフォームはx86_64のみ。ライセンスはApache License 2.0。 2014年4月にプロジェクトを発表
Linux でも簡易の GUI を作りたいな〜と思っていて Linux Mint に搭載されている mintstick のソースを見てみたらなんと import gi.repository from Gtk だけで作れちゃうことが判明。Mac OS X の AppleScript よか面倒だけど色々カスタマイズできるし、何より作っていて楽しい。 今回作成したのは RAR コマンドをちょっと便利にするための GUI。某掲示板で他の人用に作成したものだけどその掲示板に掲載するのがなんとなく微妙だったのでここに置いておく。 引数にファイルを与えて実行すると圧縮方法とリカバリレコードレベルを選択できる。 #!/usr/bin/python # -*- coding: utf-8 -*- """Desktop entry example (~/.local/share/applications/ra
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー まあいろいろあると思うけど,あんまり古いのだとスタイルがアレでダメだし,今風でとりあえず読んでてためになるし面白いなー,と思うのはGoogleで働いてるPeter Norvingさんのコードかな。短めで読みやすいし。 How to Write a Spelling Collector(スペル修正プログラムを書く方法) Solving Enery Sudoku Puzzle(数独パズルを解く) この人は他にもPython IAQ(Infrequentry Asked Question,滅多にでない質問集)とかJava IAQとか,How to Write a (Lisp) Intrepr
Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基本だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に
iOS用のアプリは通常、開発アカウントを取得し、Macを使って開発します。 開発アカウントを取得するほどではないが、iOSデバイス上で何かやりたい処理がある、という人はいるでしょう。 あるいは、プログラム好きな人なら率先してiOSデバイス上でプログラミングをしたいと思うのではないでしょうか。 そうしたニーズに存分にこたえることができる、iOSデバイス上で動作する統合開発環境がPythonista 3です。 2016年9月21日に開催されたPyCon JP 2016で @equal_001 さんがPythonistaについて発表されていたのでご紹介。 Python支持者のことをPythonistaといいますが、アプリ名はそこから取ったんでしょうね。 正真正銘のPythonが内蔵されていて、ローカルで動きます。 [参考] Kazuhiro AbeさんはTwitterを使っています: 「インタプ
MySQL Utilitiesならではの注意点 MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。 これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。 [MySQL Utilitiesの記法] --server=ユーザ名:パスワード@ホスト名:ポート番号 [MySQL コマンドラインツール群の記法] --user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号 なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対
In this talk I will try to convince you that Python 3.3 is superior to Python 2.7 by going over the differences between Python 2.7 and Python 3.3 along with benchmark information to show where Python 3.3 shines in comparison to Python 2.7 (and vice-versa). If I accomplish my goal, you will walk out of this talk convinced that Python 2.7 is not the final version of Python you want to support.
この記事は QiitaのPython Advent Calendar 2013 の7日目です。 はじめに 簡単に自己紹介をすると、筆者はOSやHCIを研究しているふりをしている、しがない院生です。現在、修士論文に向けPython+OpenCVでARシステムを構築しています。 来年からWeb系エンジニアとして労働に勤しむことなりそうなので、そろそろAdvent Calendarなどに参加して、技術力を高めなければと思っていた矢先、QiitaのPython Advent Calendarのあまりの過疎っぷりに絶望したので*1、折角なので、ちょうどいじり始めたCherryPyとws4pyについて書いてみたいと思います。 CherryPyとws4pyについてそれぞれ簡単に説明した後、実際にWebSocket通信を行うプログラムを紹介する三部構成となっています。コード多めです。動作はPython2.
転職してから1年とちょっとが経ち、Pythonをメイン言語としてからも同じくらいが経った。最近やっとnumpy/scipyの使い方のコツがわかってきたと思うので、マサカリ飛んでくるのを覚悟でなんか書いてみようと思う。 転職して初めてPythonを使ったというわけではない(実際wafのwscriptとかは書いたことある)が、まあでもほぼ初心者同然だった。学習曲線でいうとPythonはすごく良い言語だと思う。Python本体の言語仕様については、わりとすぐに覚えることができた。だが一方、numpy/scipyについては、そう簡単ではなく習得するにはそれなりに時間がかかったと思う。 ケーススタディ たとえば\(N\times M\)行列\(B\), \( M\times L \)行列\( C \), \( M \)次元ベクトル\(a=(a_k)_{1\leq k \leq M}\)が与えられて
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー mechanizeはWeb上の操作を自動化してくれる便利なPythonのライブラリ。Pure Pythonなのでいろんなところで動くよ。PerlのWWW::Mechanizeにinspireされて作られた。RubyにもMechanizeという同種のライブラリがある。Perl偉い! 「Web上の操作を自動化する」っていうのは,例えばどこかのサービスにログインしてあれこれするとか,そういったことをプログラマブルに行える,ということ。フォームの操作などもオブジェクトを使って実行できるのでとても手軽。Webアプリの開発などではテストに使われたりするんだけど,結局僕がなにをしたかったかというと,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く