逆引きPandas (ベクトル編)

pandas本はpandasの話がメインなので逆引きがないのが辛いかなと思う。pandasに慣れると手放せないけど☆

ProductName Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理
Wes McKinney
オライリージャパン / 3780円 ( 2013-12-26 )


というわけで、R言語逆引きハンドブックのベクトルの章をPandasでやってみた。

文字列を規則的に合成したベクトルを作成する

n = pd.Series(range(1,10))
n.apply(lambda r: "ID " + str(r))

因子を作成する

f = pd.Series(["y","n","y","n","n"])
pd.factorize(f)
(array([0, 1, 0, 1, 1]), array(['y', 'n'], dtype=object))

Why does pandas (python library) has no factor like variable?に書かれている

  • 因子の水準に並び順を定義する
  • 使われていない因子の水準を削除する
  • 因子の水準に大小関係を設定する
  • 因子の水準を自由に組み合わせる
  • 因子の水準ごとに関数を適用する

論理ベクトルを作成する

as.logicalに対応するものはない?

pd.Series([True, False, True, True])

論理ベクトルを計算する

>>> r = pd.Series(range(11))
>>> l = r[r > 5]
>>> l.sum()
5
>>> l.any()
True

which?

>>> l[l == True].index
Int64Index([6, 7, 8, 9, 10], dtype=int64)

空のベクトルを初期化する

>>> pd.Series([])
Series([], dtype: float64)

ベクトルの要素数を変更する

length(x) <- 10

みたいにサイズを増やすことはできない?

減らすのは

>>> a = pd.Series(range(10))
>>> a[:5]
0    0
1    1
2    2
3    3
4    4
dtype: int64

ベクトルの要素に名前をつける

>>> a = pd.Series(range(5), index=list("abcde"))
>>> a
a    0
b    1
c    2
d    3
e    4
dtype: int64
>>> a["c"]
2

ベクトルから要素を抽出する

>>> a = pd.Series(range(5), index=list("abcde"))
>>> a[list("ace")]
a    0
c    2
e    4
dtype: int64
>>> a[[0,2,4]]
a    0
c    2
e    4
dtype: int64
>>> a[(a<1)|(a>3)]
a    0
e    4
dtype: int64

ベクトルから条件に適合する添字番号を取得する

indexを使う

>>> a = pd.Series(range(5))
>>> a[(a<1)|(a>3)].index
Int64Index([0, 4], dtype=int64)

ベクトルの要素を並べ替える

>>> import numpy as np
>>> a = pd.Series(range(5))
>>> a.reindex(np.random.permutation(a.index))
2    2
0    0
3    3
1    1
4    4
dtype: int64
>>> b = a.reindex(np.random.permutation(a.index))
>>> b.sort()
>>> b
0    0
1    1
2    2
3    3
4    4
dtype: int64

ベクトルの要素を置き換える

>>> a = pd.Series(range(5))
>>> a
0    0
1    1
2    2
3    3
4    4
dtype: int64
>>> a[(a<1)|(a>3)] = 10
>>> a
0    10
1     1
2     2
3     3
4    10
dtype: int64

ベクトルに要素を追加する

>>> a = pd.Series(range(5))
>>> a.append(pd.Series([0,0,0,0]))
0    0
1    1
2    2
3    3
4    4
0    0
1    0
2    0
3    0
dtype: int64

ベクトルの要素の重複を調べる

>>> a = pd.Series([1,2,3,4,5,4,6,3,2])
>>> a.duplicated()
0    False
1    False
2    False
3    False
4    False
5     True
6    False
7     True
8     True
dtype: bool
>>> a[a.duplicated()]
5    4
7    3
8    2
dtype: int64

ベクトルの要素の重複を削除する

>>> a.drop_duplicates()
0    1
1    2
2    3
3    4
4    5
6    6
dtype: int64

R逆引きハンドブックは手元に置いておくと重宝する☆

ProductName R言語逆引きハンドブック
石田基広
シーアンドアール研究所 / 4830円 ( 2012-01-26 )


The PubChemQC project

中田さんが興味深い試みを始めていた

ChEMBLだとSARもろなデータなので、こちらで同じことやるのも楽しそう。pybel+pygamessでスクリプト書けばよさげ。

正月休みに考えてみようかな。

ChEMBLといえば来月勉強会やるので興味があれば是非参加を。(懇親会のみでももちろん歓迎です☆)

aromantic factor

という、メディシナルケミストリーにとって非ロマンチックな指標を思いついでウキウキしてみたが、それって結局1-fsp3じゃないかと気付いてげんなりしたのであった

ProductName メディシナルケミストリー
Graham L. Patrick
丸善 / ?円 ( 2003-03 )


今週読んだ本(131216-131221)

透明かつせつない

ProductName 落下する夕方 (角川文庫)
江國 香織
角川書店 / 560円 ( 1999-06 )


決壊のレビューにこっちも面白いと書いてあったので読んでみた。面白いけど、決壊は分人主義だからなぁ。こっちはミステリー要素が強いのかな?残りの巻を読むのが楽しみ

ProductName 模倣犯1 (新潮文庫)
宮部 みゆき
新潮社 / 830円 ( 2005-11-26 )


ProductName 模倣犯2 (新潮文庫)
宮部 みゆき
新潮社 / 662円 ( 2005-11-26 )


不思議な感覚

ProductName 砂の女 (新潮文庫)
安部 公房
新潮社 / 546円 ( 2003-03 )


陰影のコントラストが大切

ProductName 陰翳礼讃 (中公文庫)
谷崎 潤一郎
中央公論社 / 500円 ( 1995-09-18 )


退廃的な感じが好き

ProductName 新装版 限りなく透明に近いブルー (講談社文庫)
村上 龍
講談社 / 420円 ( 2009-04-15 )


三浦しをんも書いていたので読んだ

ProductName 最後の恋―つまり、自分史上最高の恋。 (新潮文庫)
阿川 佐和子
新潮社 / 578円 ( 2008-11-27 )


よく分からない不条理さというか

ProductName □ しかく
阿部 和重
リトル・モア / 1470円 ( 2013-05-08 )


情景がありありと浮かぶ。これは読んで良かった。

ProductName 銀の匙 (岩波文庫)
中 勘助
岩波書店 / 588円 ( 1999-05-17 )


軽く読めた

挫折した

ProductName 叶えられた祈り (新潮文庫)
トルーマン カポーティ
新潮社 / 580円 ( 2006-07-28 )


最近飲んだ日本酒(131219)

一白水成は綺麗な味わい。

1387459233 1387459234

奈良萬のおりがらみ。

1387459236

新政の限定のやつ、東京駅のはせがわ酒店で購入。

1387459237

庭のうぐいすの冬濁りはシュワシュワ感が強かった。

1387459239

pychembldbをChEMBL17に対応させた

(小指のミスで下書き消えたので投げやり)

PostgreSQLで使う場合はPsycopgをインストールして環境変数CHEMBL_URIを変える

CHEMBL_URI=postgresql+psycopg2://localhost/chembl_17

こんだけです。

尚、来年の1/18にChEMBLのハンズオンとかRedmineの事例紹介をやりますので、細かいこと聞きたいとか、dancyuで絶賛された地ビール飲みたいとかいうヒトは参加されるといいと思います。

というより、早めに人数が集まらないと懇親会の予約が取りにくいので困ります。bg7860とかとっとと登録してください。

あと、SureChemblっていうパテントに特化した構造データベースも立ち上がるみたいなので情報交換出来るといいですね。

また、時間があれば「創薬に役立つ統合TVベストn」とかやれればと思います。

今週読んだ本(131208-131214)

これはかなり好き。デジャブったからかな。

ProductName 国道沿いのファミレス
畑野 智美
集英社 / 1470円 ( 2011-02-25 )


江國香織は安定の透明感というかカタルシス

ProductName 神様のボート (新潮文庫)
江國 香織
新潮社 / 515円 ( 2002-06-28 )


こういう風にお酒を飲みたい

ProductName センセイの鞄 (文春文庫)
川上 弘美
文藝春秋 / 560円 ( 2004-09-03 )


村上春樹もよかった

ProductName ダンス・ダンス・ダンス(上) (講談社文庫)
村上 春樹
講談社 / 680円 ( 2004-10-15 )


ProductName ダンス・ダンス・ダンス(下) (講談社文庫)
村上 春樹
講談社 / 680円 ( 2004-10-15 )


陰翳礼讃

ProductName 真昼なのに昏い部屋 (講談社文庫)
江國 香織
講談社 / 500円 ( 2013-02-15 )


大衆受けのする感じかな。ちょっと浅い。

ProductName ヘヴンリー・ブルー (集英社文庫)
村山由佳
集英社 / ?円 ( 2012-11-15 )


平野啓一郎の力強さは読み応えがある。

ProductName かたちだけの愛
平野 啓一郎
中央公論新社 / 1785円 ( 2010-12-10 )


白痴まで読んでストップ。あわない。

ProductName 白痴 (新潮文庫)
坂口 安吾
新潮社 / 483円 ( 1949-01-03 )


今週読んだ本(131201-131207)

天国旅行は心中をテーマに扱った作品集。三浦しをんはダーク目のほうが好き(明るいほうは読んだことない)

ProductName 天国旅行 (新潮文庫)
三浦 しをん
新潮社 / 546円 ( 2013-07-27 )


カラフルの前向きさは良かった。なかなか好きな作品

ProductName カラフル (文春文庫)
森 絵都
文藝春秋 / 536円 ( 2007-09-04 )


それほど惹かれなかった

ProductName 蹴りたい背中
綿矢りさ
河出書房新社 / ?円 ( 2013-10-04 )


江國香織の透明感のある文章はかなり好きな感じ。つめたい夜にでは「デューク」「いつか、ずっと昔」「スイート・ラバーズ」が心に残った。号泣する準備はできていたも良かったけどあまり強く惹かれたのはなかったかな。

ProductName つめたいよるに (新潮文庫)
江國 香織
新潮社 / 452円 ( 1996-05-29 )


ProductName 号泣する準備はできていた
江國 香織
新潮社 / 1470円 ( 2003-11-19 )


平野啓一郎はずっしりした読後感が味わえて好き。

ProductName 決壊〈上〉 (新潮文庫)
平野 啓一郎
新潮社 / 704円 ( 2011-05-28 )


ProductName 決壊〈下〉 (新潮文庫)
平野 啓一郎
新潮社 / 746円 ( 2011-05-28 )


平野啓一郎のあとに軽めのものを。デザート的に読めた。前向き

ProductName 夏の約束
藤野 千夜
講談社 / ?円 ( 2000-02 )


挫折した本

ProductName わたくし率 イン 歯ー、または世界
川上 未映子
講談社 / 1365円 ( 2007-07-26 )


ProductName ニッポニアニッポン
阿部 和重
新潮社 / ?円 ( 2001-08 )


左手に宇宙

祈りの肖像が良い

ProductName Harkitek or ta ayoro
タテタカコ
バップ / 2231円 ( 2010-04-21 )


やごみ酒店

忘年会兼打ち合わせ

来年は1/18にやりますのでよろしくお願いします。懇親会は美味しいところにする予定です。

そしてやごみ酒店での打ち合わせは楽しかった

居酒屋っぽくない佇まい

1386150214

熱燗は将軍という銘柄らしい、冷だと英勲。

1386150215

いわし山盛り

1386150217

カレイも山盛り

1386150218

磯辺揚げ

1386150220

タコ

1386150221

スモークサーモンはちょっと塩気が強かった。

1386150222

一人あたり3KだったのCP高い。

また行きたい