simudaru's blog

Python, Rなどのメモを残していこうと思います。  よろしくお願いいたします。

Eclipseのショートカット

自分用メモ。 なので、随時更新。 タブの切り替え Ctrl + F6 タブを閉じる Ctrl + W 矩形選択モードの切り替え Shift + Alt + A 矩形選択モードでShift押しながらカーソル移動すれば良い

【python】PyQt4のQtGuiを使ってみる その2

以下を参考にした。Menus and toolbars in PyQt4zetcode.com # coding: utf-8 import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): # テキストボ…

【python】PyQt4のQtGuiを使ってみる その1

以下を参考にした。First programs in PyQt4zetcode.com # coding: utf-8 import sys from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): u''' 下記内容の練習 http://zetcode.com/gui/pyqt4/firstprograms/ ・終了ボタンの設置。 ・終了ボタン…

ipython notebookをAWSで利用

下記を参考にしたが、構成が変わっていた。 http://dev.classmethod.jp/cloud/aws/run-ipython-notebook-as-server-on-amazon-ec2/ まずはサーバーとして起動するための設定を行う プロファイルを作成 ipython profile create nbserver 続いて、.ipython/pro…

【python】コードの品質管理について その3 unittest

下記の続き。【python】コードの品質管理について その1 pep8 - simudaru's blogsimudaru.hatenablog.com 【python】コードの品質管理について その2 pylint - simudaru's blogsimudaru.hatenablog.com下記を参考にした。 Python Project Howto (日本語訳) —…

【python】コードの品質管理について その2 pylint

下記の続き。【python】コードの品質管理について その1 pep8 - simudaru's blogsimudaru.hatenablog.com下記を参考にした。 Python Project Howto (日本語訳) — Python Project Howto 日本語訳 pylint pipでインストール可能 コードの多くの潜在的な問題を…

【python】コードの品質管理について その1 pep8

コードの品質管理について少しメモ。下記を参考にした。 Python Project Howto (日本語訳) — Python Project Howto 日本語訳 pep8 pipでインストール可能 「PEP 8」というスタイルガイドに従っているかチェックしてくれる。 これを使えば、コードのフォーマ…

【bash】設定ファイルの読み込み

bashでの設定ファイルの読み込み以下のようなファイルを用意し、 「.」で実行することで変数を読み込む X="Hello World!"シェルスクリプトを読み込んで実行しているので、 変数だけでなく、処理を記載することもでき便利。 反面、安全性は高くないかも。 # -…

【bash】 UnitTest

シェルでのユニットテストにはshunit2が使えるらしい。インストールはtarを解凍して好きな場所に置くだけ wget https://shunit2.googlecode.com/files/shunit2-2.1.6.tgz tar zvxf shunit2-2.1.6.tgz testで始まる関数を作る。 assertEqualsやassertTrueなど…

【vim】windows 設定例

vim

大体は他の人の設定をコピペしてるだけ。 いずれ自分で理解して、自分用にカスタマイズしたい。 syntax enable set number set ruler set list set listchars=tab:>-,trail:-,nbsp:%,extends:>,precedes:<,eol:< set incsearch set hlsearch set nowrap set …

【R】コマンドライン引数

R

コマンドライン引数を取るスクリプトの雛形を作っておこうと思う。今回はR。 # --------------------------------------------------------- # コマンドライン引数を取るコードの雛形 # --------------------------------------------------------- args <- …

【python】コマンドライン引数

コマンドライン引数を取るスクリプトの雛形を作っておこうと思う。今回はpython。 # coding: utf-8 # --------------------------------------------------------- # コマンドライン引数を取るコードの雛形 # ---------------------------------------------…

【vim】大文字小文字の変換

vim

複数一気に変える場合 ヴィジュアルモードで範囲選択後 U: 大文字に変更 u: 小文字に変更 ~: 大文字小文字を反転一文字変える場合 ノーマルモードで範囲選択後 ~: 大文字小文字を反転

【vim】クリップボードにコピー

vim

自分用メモ"*y以上。

【bash】 コマンドライン引数

2015.4.11 エラー発生時に処理を停止するよう set -eu を追加 2015.4.12 ディレクトリの取得を追加コマンドライン引数を取るスクリプトの雛形を作っておこうと思う。今回はシェルスクリプト。 # --------------------------------------------------------- …

【R】ファイルの存在確認

R

Rでファイルの存在確認を行うには、file.access関数を使う。 存在するときに0、存在しないときに-1を返すので、 if (file.access('hoge')) {} と書くと hogeが存在するときに{}が実行されず、 hogeが存在しないときに{}が実行されることとなり、 感覚と合わ…

【python】値とインデックスの両方を取得(enumerate)

enumerateの存在をすぐに忘れて、以下のようなコードを書いてしまう。 # coding: utf-8 x = [x ** 2 for x in range(100)] # 各桁の総和が10の倍数になる要素と、そのインデックスを取得 def func_test1(x): index = 0 for i in x: if not sum([int(k) for k…

【python】辞書型のループ処理

はじめてのPythonを今更ながらちゃんと読んでいる。辞書型で全てのキーに対して処理をする際、以下のようにkeysメソッドを用いていた。 def dictionary_loop1(dic): ans = 0 for k in dic.keys(): ans += k return ans しかし辞書型にはイテレータが定義され…

【python】別ディレクトリのファイルをimport

sys.pathにディレクトリのpathを追加してimportすればよい import sys sys.path.append(u'C:\\hogehoge\\piyopiyo') import fugafuga

カードゲームを作りたい その1

「カードゲームを作りたい」そう思ったので、作ろうとしてみます。複雑なルールだと挫折するので、非常に簡単なルールにします。 ルールは後で細かく考えるとして、 まずは、デッキClassを作ろうと思います。 クラス: デッキ属性: カードの並びメソッド: …

divmod

pythonには、商と余りを同時に取得できる関数があるのですね。 print divmod(100, 9) # >>> (11, 1) a, b = divmod(100, 9) print a * 9 + b # >>> 100 便利!

zip関数の使い方と、関数への引数としての"*"

zipは、複数のリストをタプルにまとめてくれます。 # -*- coding: utf-8 -*- key_list = ["aA", "bB", "cC"] val_list = [1, 2, 3] print zip(key_list, val_list) # >>> [('aA', 1), ('bB', 2), ('cC', 3)] print dict(zip(key_list, val_list)) # >>> {'aA…

keyの指定

感動したのでメモ。唐突ですが、sortには、keyを指定することができます。 恥ずかしながら、知らなかったのですが。 # -*- coding: utf-8 -*- x = list('ThisIsATest') x.sort() print x # >>> # ['A', 'I', 'T', 'T', 'e', 'h', 'i', 's', 's', 's', 't'] #…

argparseを試してみました

argparseを試してみました。 とりあえずは基本的なものだけ。使い方としては、 ArgumentParserを作る 引数を追加する パースする という手順になります。 # coding: utf-8 # [!]引数を取るので、sysのimportは必須 import sys import argparse # まずはArgum…

unittestを試してみました その1

テストコードをちゃんと書くことが今まであまりなかったので、unittestを使ってテストコードを書いてみました。 初めて使ったので、まずは最も基本的な使い方だけ。 例は単純なFizzBuzzで。 import unittest def sample_func(n): if n % 3 == 0: if n % 5 ==…

【CodeIQ】第4回デスマコロシアム

第4回デスマコロシアムに参加しましたが、予選敗退でした。 https://codeiq.jp/magazine/2014/07/12364/ 今回は、下記でR言語の最短賞のバッジを狙いに行きました。 R for(z in 1:8*2){cat(intToUtf8(seq(36,117,z)))} 46文字 重複18文字 -874点今回、一応最…

Juliaのお勉強 その1 変数

The Julia Manual (http://docs.julialang.org/en/release-0.2/manual/) を順番に読んでいこうと思います。 英語が苦手なので、不安ですが。早速ですが、Introductionは読み飛ばしました。 ・Free and open source (MIT licensed) ・Call C functions direct…

Juliaをインストールしてみました(+Julia Studio)

Juliaという、RやPythonよりも高速らしいスクリプト言語をインストールしてみました。 Julia(ジュリア)は、一般的なプログラミングから高水準の科学計算処理まで対処するよう設計された、 高水準言語及び動的プログラミング言語です。 引用元:http://en.wik…

Python 環境再構築3 pandas

【環境】 Win7, Python2.7.7(32bit版)pandasを入れました。特にはまるところはありませんでしたが、備忘のため。 pandasの最新版をダウンロード、インストール https://pypi.python.org/pypi/pandas/0.14.0/#downloads 実際にダウンロードしたのは、pandas-0…

【R】reshape2パッケージの関数をだいたい試しました

Rのreshape2パッケージを試してみました。 データフレームを縦持ちにしたり横持ちにしたりしてくれます。 時系列ではおなじみの、airqualityデータで試してみました。 今回はコードを分割してブログ記載していますが、 もとはひとつのコードですので、途中か…

【CodeIQ】第3回デスマコロシアム

第3回デスマコロシアムに参加し、ベスト16まで残りました。 https://codeiq.jp/magazine/2014/06/10989/ 今回は、下記で最短賞のバッジを取りに行きました。 Octave disp("A":"z")13文字10種 -130点もちろん一番乗りではありません。 octaveが最短と聞いてか…

Python 環境再構築2

前回に引き続き、必要なパッケージを再インストール。 bunchは新しく入れました。 BeautifulSoup4のインストール コマンドプロンプトで以下を実行 pip install BeautifulSoup4 import BeautifulSoup4が通ることを確認 → OK chardetのインストール コマンドプ…

Python 環境再構築

Pythonにscikit-learnを入れようとして、 import時に「有効なwin32アプリケーションではありません」と言われ続け、 どハマりしたので、もう一度最初から設定することにしました。 Pythonの最新版をダウンロード、インストール https://www.python.org/downl…

【R】e1071パッケージのbclust関数を試しました

Rのe1071パッケージ、bclustを試してみました。 K-meansなどの分割クラスタリング手法をbootstrapで繰り返し、 その結果を階層クラスタリングにより統合する、という手法です。 おなじみのirisデータで試してみました。 # bclustについて # Bagged Clusterin…

【R】e1071パッケージのallShortesPath関数を試しました

Rのe1071パッケージ、allShortesPathを試してみました。有向グラフあるいは無向グラフの、ノード間の最短距離を計算する関数です。 計算にはワーシャル-フロイド法を使っているとのことです。 # allShortesPathとextractPathについて library(e1071) # 5node…

pyscripter

【環境】 Win7, Python2.7.6(32bit版)python開発環境を作りたいと思い、 eclips, vimのどちらにしようか考えていました。ですが、環境構築に時間をかけたくなかったので、 更新が止まっているのが気になりつつも、 最も導入が簡単そうなpyscripterを導入して…

Pythonでジャンケンゲーム作る(その2)

苦手なオブジェクト指向プログラミングに挑戦中です。 あまりオブジェクト指向になってないかも。playerの持つべきメンバ変数は、 ・名前 ・戦略 ・手 ・勝ち数 ・アクティブかどうかplayerの持つべきメソッドは、 ・手を決定する ・必要なメンバ変数へのget…

Pythonでジャンケンゲーム作る(その1.1)

中途半端なのは承知で、自分用メモ。 途中経過を貼っておきます。苦手なオブジェクト指向プログラミングに挑戦中です。 一応動く状態までは作りましたが、設計ちゃんとしないとですね。もう少しきれいにしたら、複数人でのジャンケンもできるように変更予定…

【CodeIQ】チケットゴブル問題(結城 浩さんの問題)

数学ガールの作者である、結城 浩さんがCodeIQで出題していた チケットゴブル問題が〆切を過ぎ、フィードバックも来ましたので、 自分の解答(python2.7.6)を晒してみます。 https://codeiq.jp/ace/yuki_hiroshi/q863 アルゴリズムとしては、「帰国日が早い…

Pythonでジャンケンゲーム作る(その1)

まずは単純な形で、以下の仕様を満たすよう実装します。 ・コンソールアプリケーション ・3本先取 ・コンピュータは一人 オブジェクト指向は苦手なので、とりあえず手続き型で書いて、 後で関数化とかオブジェクト化とかしていく方向で。 # -*- coding: utf-…

Pythonでジャンケンゲーム作る(その0)

Pythonでジャンケンゲームを作ったことがないので、作ろうと思います。 print "Hello world!" で始まり、色々勉強し、 なんとなくその言語の基本の部分がわかってきた頃に、 確認に、ジャンケンゲームはちょうどいいので。 最低でも、 標準出力 標準入力(プ…

【CodeIQ】第2回デスマコロシアム

第2回デスマコロシアムに参加し、見事敗退しました。 https://codeiq.jp/magazine/2014/05/9744/ 第1回も敗退と、なかなか勝てないです……。 Rで64文字、下記コードで参加しました。 R x=12289;intToUtf8(sort(rep(65:90,8))+c(32,0,x,x+96,x+96,x,0,32)) Rは…

PythonとMecabのバインディング

PythonでMecabが使えるようにするのに手間取ったのでメモ ちなみに、【最終的に入った】以前の内容は失敗履歴なので、 真似しないほうが良いです。 【環境】 Win7, Python2.7.6(64bit版), Mecab0.996 PythonとMecabはインストール済み。 pathに以下を追加済…

bolg開設

blogはじめてみました。 プログラム関連のメモを残していくつもりです。 よろしくお願いいたします。