pythonを使って網羅的計算 〜高速計算を求めて

というなかなか自己矛盾なタイトルでの投稿。 pythonはスクリプトの書く時間を短縮するのが利点であって、pythonに計算をやらせるのはそんなに早くないことが多いので。
だからと言ってふと思い立ったときにCを書くかと言うとちょっと手が渋るのも事実。 この投稿ではそんな大量計算をpythonで頑張ってやってみた時の経験について書きたい。

私的結論から書いておくと道は二つ。 一つはやはり面倒臭がらずにC系統で書く。 pythonを使うことにこだわるならpython的な高速化は求めずに、愚直にスクリプトを書いてからcythonに書き直したりnumba@jitで高速化を目指す。 このどちらかの方が結果として早くなるんじゃないかなと思った。

しかしこの投稿で書くのはそう言う方法ではなく、なるべくpython的に頑張ろうとした時の試行錯誤をいくつか書いていきたい。 もちろんpythonianな人たちはもっとエクセレントな方法を知っているだろう。 気づいたことがあったら教えていただけるととても助かる。

pythonでどのような網羅的計算をしたかったか

ちょっとここの説明が長いので、この章を飛ばしてもらってもなんとなくわかると思う。
4つのパラメータa,b,c,dがある式。 この式は3つの整数変数h,k,lの総組み合わせに対してそれぞれ解を吐き出すような式。 例えば

s = h*a+k*b+c*l+d

といった感じで。 実際はもう少し複雑な計算をさせているが。 いずれにしろ10個ずつ整数変数があるとしたら一つのa,b,c,dに対して1000個のs値が計算されることになる。

一方でこの時の実験値が8個。 この実験値と上記で計算された値sとが良く合うパラメータa,b,c,dのセットを探したいというのがやりたかったこと(どのsと実験値を合わせても良い)。
ある程度情報があって最小二乗法などで解けるなら何も問題がない。 そうでない場合はちょっと考えないといけない。

いくつかある方法の中で一番愚直な方法は、とりうるパラメータa,b,c,dを細かい刻みで動かして全ての値のを網羅的に計算する。 その中で一番実験値と合う値を引き算で算出。 その値を叩き出したパラメータa,b,c,dを求めるという方法だ。

プログラムの構成

a,b,c,dのパラメータ変数を適当な間隔で定義する。 各a,b,c,dから式の値を計算して、実験値との差分を計算する関数を回す。 差分が例えば0.001以下のパラメータセットを出力する。 そんな単純プログラム。 しかしa,b,c,dを増やせば増やすほどガンガンと計算量が増えるプログラムだった。

for文を避けてnumpyで頑張る

上記のようなプログラムを書きたい時はCだったらfor文をガスガス回すと言うのは正しい戦略だと思う。 わかりやすいし早いし。
ただpythonはfor文が割と遅いという特徴がある。 for文を如何に避けるかはpythonで重たい計算をするときの一つの方針にはなる。
と言うわけでまず4つのパラメータに対して式を計算するのにfor文を回すのではなく、numpyのarrayに収納してみることをトライ。 どの程度速度が変わるかをまずは単純計算で比較。 4つのパラメータを10個ずつ取ったとき。 まずは単なる網羅的足し算での比較を。

for文:

import time
import numpy as np

def main():
 start = time.time()
 for a in range(10):
 for b in range(10):
 for c in range(10):
 for d in range(10):
 a+b+c+d
 elapsed_time=time.time()-start
 print ('elapsed_time',elapsed_time)
 return
結果
elapsed_time 0.00111 [s]

array文:

import time
import numpy as np

def main():
 start = time.time()
 a = np.linspace(0,9,10)
 b = np.linspace(0,9,10)
 c = np.linspace(0,9,10)
 d = np.linspace(0,9,10)

 ar1 = np.array(np.meshgrid(a,b,c,d)).T.reshape(-1,4)
 np.sum(ar1,1)

 elapsed_time=time.time()-start
 print ('elapsed_time',elapsed_time)
 return
結果
elapsed_time 0.00107 [s]

あれ? ちょっとだけ早いけど10000回の計算だと大して変わらない。 しかもこのnumpyのarrayの組み方は弱点がある。 網目を大きくするとarrayがとっても大きくなる。 その分だけメモリを食うという弱点。
というわけで網目を30x30x30x30にした場合。

for: elapsed_time 0.0681 [s]
array: elapsed_time 0.1256 [s]

網目を50x50x50x50にした場合(6250000回計算)。

for: elapsed_time 0.51124 [s]
array: elapsed_time 1.07741 [s]

というわけでこれだけだと実はforの方が良かった。

さてこれをちょっとだけ複雑な計算にしてあげるとどうなるか。 各30パラメータの例で、変更は二乗の和をとるだけ。 変更と結果は下記の通り。
for:
a**2+b**2+c**2+d**2
elapsed_time 0.90076 [s]

array:
ar1 = ar1*ar1
ar2 = np.sum(ar1,1)
elapsed_time 0.13798 [s]

forは二乗を取るだけでかなり遅くなる。 一方でarrayは大して変わらない。 というわけでここでだいぶarrayの方が早くなった。

とはいえこういう単純計算だったらもっと早く書く方法があるのかな。 pythonianな方に教えて頂きたいところ。

ループで使用する関数内での変数宣言を避ける

これは回数の少ないループだとむしろ中に書いておいた方がわかりやすいかもしれない。 しかし100万回計算するループの中に変数宣言が入っていたりするとpythonはとても遅くなる。
普段はあまり使いたくないgrobal変数だけど、この場合は使用を検討してみると早くなるかもしれない。 grobal変数は、関数の外でgrobalに続けて宣言すればよい。

grobal h
h = np.linspace(0,5,6,dtype=int)

など。

argminよりargpartitionを使う

本題に戻って私がしたかったことは、実験値と計算値を比べること。 これは単純に差分を取ってあげて、そこから最小値を抜き取ればよい。 ここでパッと考えるとargminを使いたくなるところ。 しかしargpartitionという関数があり、こちらの方が早い。

dif2 = np.absolute(slist - dobs)
min =np.argpartition(dif2,0,axis=0)

こんな感じで差分を取ったarrayの最小のインデックスが抜き出せる。

@numba.jit

時折とても強力に高速化してくれる。 けれどむしろ遅くなる場合もある。 全体にかけて効くときもあるし、関数1個だけにかけた方がよく効くときもある。 よくわからないけれど、効いてくれたら嬉しい機能。 試す価値はあり。

数学関数はmathかnumpyか

物によってはmathのが早いし、numpyの方が早かったこともある。 というかあまり変わらない。 最後の最後にどっちのが早いか見てみてもよいかも。 100万回も計算すれば違いが出るかもしれない。

anacondaのpythonを使う

私がanacondaのpython3に乗り換えたのはこれが原因。 なぜかちょっとだけ計算が速くなる。 もっと早いのがあるなら教えて欲しい。

計算量を減らす努力

小さな努力が大きな結果に跳ね返る場合もある。 計算に対称性などがあって計算が減らせる場合は減らしておく。 計算量が多い場合だとパラメータが減ったり式が単純化されるだけで結構な違いに跳ね返る。 なんだかんだでマニュアル努力が大切。

終わりに

というわけでいくつか私がpythonの高速化を計った時に使った方法を書いてみた。 私は結局目的に使い物になるくらいのところ(1回の試行が帰宅前に回し始めて朝には終わっている)で諦めてしまったのだけど。
最終盤のプログラムでもCで適当に書いた似たようなプログラムに数十倍の速度差をつけられていた。 本職pythonの人がどのくらい早くできるのかは気になるところではある。

cythonへの変換も試した。 しかしいろいろnumpyで書いていたせいか、変数の宣言などcythonを単純に使っても速度を上げることはできなかった。
というわけである程度計算量が必要なプログラムを書く時は、最初からcythonを意識した書き方をしておく。 もしくはcythonフォーマットで書き始めるというのが正しい道なのかな。

関連記事

pythonのまとめ

 

D

豚ひき肉の簡単炊飯器蒸しのレシピ [簡単中華]

[概要]

豚ひき肉の炊飯器蒸し

ご飯を炊くときに炊飯器に突っ込んでおけば出来上がる簡単料理。 嫁がよく作っているのでたぶん中華なのだろう。 平べったい肉団子といった感じで簡単な割に美味しい。 醤油味の豚ひき肉なのでご飯がよく進む一品。 見た目を良くするのが難しいのが難点。

[調理時間]

準備10分以内
蒸し20分程度(炊飯器でご飯を炊き上げる時間)

[準備するもの]

豚ひき肉炊飯器蒸しの材料

豚ひき肉 200g
生姜   薄切り1枚
A 醤油  小さじ2くらいから調整
A 酒   小さじ2くらいから調整
A 塩   小さじ1/4くらいから調整
A ごま油 小さじ1くらいから調整 (風味付けなのでなくても良い)
A 片栗粉 大さじ1くらいから調整
卵    なくても良いけどお好みで

[重要] 下の写真のように炊飯器に付けられる蒸し器

炊飯器に付ける蒸し器

[手順]

1. 生姜は薄切りを縦に細切りにしておく。 もしくはみじん切りやすりおろしにして直接豚肉に混ぜてしまっても良い。

2. 豚ひき肉を直径10から15cmくらいのガラスや陶器などの耐熱容器に入れてスプーンなどを使って軽く混ぜる

3. 生姜と調味料Aを豚ひき肉に入れてよく混ぜ合わせる

4. 混ぜ合わせたひき肉を容器の側面に塗りつけるようにしてなるべく薄く成形する。 よっぽど厚くしなければ炊飯時間で問題ないと思うけど。

豚ひき肉をガラス容器につめる

5.  お好みでひき肉の上に卵を落とす

ひき肉の上に卵を乗せる

6. 炊飯器に付けられるタイプの蒸し器の上にガラス容器を乗せる

炊飯器にセット

7. 炊飯器のスイッチを入れてご飯を炊くのと一緒に蒸し調理をスタート

8. ご飯が炊きあがるのを待つ

9. 一応中まで火が通ってるか確認して完成!

ひき肉炊飯器蒸し完成

[雑感]

  • 取り出す時容器がとても熱いので注意
  • ひき肉を柔らかく繋ぐのに片栗粉を使っているのだけど、代わりに豆腐などを混ぜてもよい
  • 最後の写真のようにこういうタイプの蒸し料理は水が入るので、少し味付けを濃いめにしておかないとだいぶ薄味になる。 けど最初は薄めの味付けに作っておいて、味が足りなかったら後で塩を振る方が失敗しない
  • ご飯と一緒に炊かずに普通に蒸し器を使ってもよいのだけど、ご飯と一緒に炊いた方が一手間省いた気分になれる

関連記事

自炊レシピのまとめ

D

セロリのニンニク塩炒めのレシピ [簡単中華]

[概要]

セロリのニンニク塩炒め

セロリを炒め物に。 嫁が以前よく作っていたので中華なのかな。 まあニンニク風味に炒めたセロリ。 シャキシャキとした食感とセロリとニンニクの風味が美味しい。 ご飯が進む一品。

[調理時間]

15分以内

[準備するもの]

セロリとニンニク

2人前くらいの目安

  • セロリ 4本
  • 鷹の爪 1個
  • ニンニク ひとかけ
  • 調理用油 大さじ1以上 (多い方が美味しいけど健康との兼ね合いで)
  • 塩 小さじ半分くらいから好みで調整
  • 調理酒+水 30ml (スーピーな仕上げにしたい場合はお好みで)

[手順]

1. セロリを斜めに1−2mmくらいに薄切りにする

2. ニンニクを縦に細切りにする。 輪切りでも良いけど

3. 鷹の爪を半分に割って種を捨てる

セロリ斜め切り

4. フライパンに油を大さじ1くらい。 もっと多くても良いかも。 中華は油が多い方が美味しい。

5. ニンニクと鷹の爪を弱火で炒めて香りを出す。 うちは電気調理器なので弱でしばらく放置。 ガスだと手早くあっためられて良いと思う。

6. 香りが立ったら強火に。 鷹の爪は辛いやつだったらこの時点で取り出してしまってもよい。

ニンニクを弱火で

7. フライパンがあったまったらセロリ投入。 2、3分強火で炒める。 水分飛びすぎているようだったら少し火を落とす。

セロリを炒める

8. 塩を振って味付け。 小さじ半分くらいから好みの味に調整。 スーピーな仕上げにしたかったら、最後に調理酒と水を少し加えてからアルコールを飛ばす。

9. 完成!

[雑感]

  • 結構ニンニクの香りが立つので、気になるなら少し控えめにしても良い
  • セロリが硬い場合はなるべく薄切りにした方が良い。 長く炒めてもセロリはあまり柔らかくならない
  • パプリカを入れると色合いが良くなる
  • スープのある感じの炒め物にしたい場合は調理酒と水を少し足すと良い。 ドライな感じに炒めても美味しいけれど。

関連記事

自炊レシピのまとめ

D

シェナンドーで1泊二日 〜楽しいトレイルハイキング

前回のシェナンドー国立公園の投稿の続き。 この投稿ではシェナンドーから見える夜景と星空、二つのユニークなハイキングコース、それからシェナンドーに生息する動物について書いていきたい。

夜景と星空観察

この投稿では二日目の出来事について書く予定だった。 しかし前投稿で1日目に夜景と星空を見に繰り出したことを書き忘れたいたのでそれから。

シェナンドー国立公園からの夜景

シェナンドー国立公園からの夜景

私たちはスカイランドのキャビンに宿泊していたので、そのすぐ近くのオーバールックまでドライブ。 とても真っ暗な道になるので、鹿などの動物には注意してドライブする必要がある。 この日はキャビンを出てすぐ近くに鹿の群れがいた。
夜景は都会じゃないのでそんなに派手ではないのだけど、山から見える人の生活という感じでなかなか印象的だ。

シェナンドーからの星空

シェナンドーのオリオン座

またそんな人の生活から視線を空にあげるとこちらもそれなりの迫力の星空。 ただそれなりに人の住居には近いので満点の星空とはいかない。 しかし住宅地に住んでいるのに比べれば綺麗な星を見ることはできた。 グランドサークルのブライスキャニオンで見た星空のようにはいかないけれど

Dark hollow falls滝へ向かうハイキングトレイル

さて一泊二日ということで色々行く余裕があった旅。 いくつかハイキングトレイルをこなすことにした。 私たちはまずシェナンドーで人気の滝の一つDark hollow fallsへ向かうことにした。

シェナンドーのdark hollow falls

水量豊富なDark hollow falls

Dark Hollow Falls Trailheadにそれなりに大きな駐車場がある。 そこから滝にたどり着くまでは片道1kmくらいの短いトレイル。 このトレイルはひたすら下りなので行きは良いけれど、帰りが大変というタイプ。 とはいえ1km程度なので大丈夫。
たどり着いた滝は写真のようななかなかの迫力の段々滝。 滝のすぐ近くまでいけるようになっているので写真撮影にも良い感じ。 ちょっとのウオーキングでなかなかの滝が見られるという良いトレイルだった。

アスレチックハイキング

さてDark Hollow Falls Trailじゃ歩き足りないというトレイル好きの方もいらっしゃると思う。 私の嫁もそうだった。 というわけで私たちは滝を見た後にもう一つトレイルを攻めることにした。 シェナンドーは簡単なのから難しいのまでハイキングトレイルの種類が揃っている。

シェナンドーのトレイル

岩場を抜けるbearfence rock scramble

私たちが向かったのはbearfence rock scrambleというトレイル。 Dark hollow fallsからは車で10分ほど。 やはり駐車場があるけれどこちらは少し狭かったような記憶あり。 車を止めたら道路を渡った反対側にトレイルの入り口があったのだと思う。
写真のように岩場の上を通り抜けて行くようなトレイル。 岩の上だけど道案内のマークが岩に塗られているので迷う心配はなし。 時折少しだけ岩を登る必要があったりしてなかなか楽しい。 良い汗がかけたトレイルだった。 しかし公式の評価もmoderateだし特別難しいコースではない。 途中山の眺めもかなり美しいのでオススメのハイキングトレイルだ。

シェナンドーのbearfenceトレイル

bearfence rock scrambleの高台からの眺め

参考:国立公園の公式案内ページ

熊・鹿・鳥

最後にシェナンドーの動物について。 一番よくいるのは鹿。 結構人慣れしていて、あまり逃げないタイプの鹿。 なので逆に運転してる時は注意が必要。 なぜだか写真が見つからなかった。

シェナンドーの鳥

それから大きめの鳥が良く飛んでいる。 写真に収めるのは難しいけれど、上の写真の時はたまたま長い時間近くを飛んでくれたのだった。

シェナンドーの子熊

道路脇の木の上にいたシェナンドーの子熊

アメリカの場合だとクマは逃げるものではなく探すもの。 グレートスモーキーマウンテンでも目当ての一つになっているけれど、シェナンドーのクマも結構有名。 人を襲わないわけではないので見学に注意は必要だけれども。

さてシェナンドー二日目の午後、まもなくシェナンドーのドライブ旅も終わろうかとしていた。 そんな時道路脇に駐車している一台の車を発見。 こんな何もないところでなんで駐車しているのかと不思議に思う私たち。 よく見ると車から外に出たおじさんが上方向を見上げている。 つられて上を見る。 すると木の上には小さな子熊の姿が。 慌てて嫁を下ろして駐車場所を探すことになった。 残念ながら私が駐車して向かった時にはすでに逃げてしまっていたのだけど、嫁が一応写真に収めることに成功したのだった。

シェナンドーで宿泊したロッジのおばちゃんが言うにはクマに出会うのは珍しくはないそうだ。 とはいえ一泊二日ぐらいだと確実に会えるほどでもない。 私たちはギリギリで出会うことができてラッキーだった。 ケイズコーブでもそうだけど、駐車している車を見つけたら要注意だ。

関連記事

1. 海外旅行記のまとめ

2. シェナンドーで一泊二日 〜日の入り鑑賞とルーレイ鍾乳洞

3. 海外旅行記・グランドサークル 〜ブライスキャニオン国立公園

4. 海外旅行記・アメリカ東部 〜ケイズコーブの熊

D

フィンランドの図書館は子供向け設備が充実している

フィンランドでは子供向けの設備が整っているところが多い。 図書館もそんな設備が充実している場所の一つだ。

ISO OMENAの図書館の幼児コーナー

Iso Omenaの図書館入り口

ISO OMENAの3階のインフォメーションの奥が図書館

さてISO OMENAショッピングセンターでは3階に公共施設が集中している。 例えば、Neuvola(出産子育て支援)、Kela(社会福祉)、HSL(公共交通)など。 その一角に図書館も併設されている。

ベビーカー駐車場

幼児用広場の前のベビーカーの駐車場

さてその図書館を最奥まで進むと幼児用の広場がある。 ベビーカーの駐車場があるので、ベビーカーはそちらへ。 ここは1歳以下から小学生くらいまで幅広い子供層がいる。 ISO OMENAは1階にも子供用施設があるのだけどそちらはやや大きめのお子様が多い。

図書館の幼児向け広場

図書館なので本はたくさん。 椅子の上には大きな遊べるクッション

幼児広場は柔らかいカーペットが敷かれている。 入り口で靴を脱いで中へ。 幼児広場の中には子供向けの本がいっぱいある。 それから遊ぶように大きな柔らかいレゴブロックやクッション、その他色々が置いてある。 他の子供さん達とお知り合いになるには良い場所だ。

幼児コーナーの柔らかいレゴブロック

幼児コーナーの大きなレゴブロックは柔らかい素材

もう少し大きなお子様むけ設備

この図書館は幼児コーナーだけでなく色々と設備が充実していた。 以下はその図書館内ギャラリー。

図書館内漫画コーナー

日本の紹介イベント

図書館漫画コーナー

ちょうど日本文化の紹介イベントをやっていたのかな。 普通の常設漫画コーナーにも日本の漫画がたくさん。 漫画はドラゴンボールなどから最近のワンピースとかまで幅広く置いてあった。 NANAなど少女漫画も結構。 有名どころはフィンランド語の翻訳のものが置いてあったし、日本語のままの漫画も結構置いてあった。

図書館内パソコンとゲームコーナー

図書館のパソコンコーナー

パソコンコーナーは今では大体どこの図書館でもあるのかな。 この図
書館では結構小さめ。 子供達が使っていた。

図書館のゲームコーナー

この図書館はテレビゲームコーナーが付いていた。 日本の図書館でこの手のゲームコーナーは見たことがないような気がするんだけどどうなんでしょう?

図書館脇ビリヤードとテレビゲームコーナー

図書館のビリヤード

図書館にビリヤードコーナーは日本ではないだろう。 いや知らないだけであるのかな? ここにもいくつかテレビゲームコーナーが付いていた。 図書館ってよりは漫画喫茶みたいだな。 こちらのコーナーは遊んでいる年齢層は高め。

図書館内3Dプリンター

3Dプリンター

まさかこんなところで3Dプリンターを見るとは思わなかった。 最近だといろんなところで手軽に利用できるのかな。

図書館内その他設備

面白いと思ったのは一台だけど電子ピアノが置いてあった。 家にピアノがなくても練習ができるということ。 素晴らしい。
最後になってしまったけど普通の本もそれなりの品揃え。 それからCDとDVDのレンタルがあり。

関連記事

1. フィンランドのショッピングモールの赤ちゃん向け設備

2. 海外出産・海外育児のまとめ

D

2018年の初めに 〜フィンランドの新年と新しいバス路線

明けましておめでとうございます。 2018年が皆様にとって実りのある良い年になることを祈っております。

フィンランドの新年

ヘルシンキはEU圏内ではトルコとロシアを除いておくと、一番早く新年を迎えるタイムゾーン。 というわけでヨーロッパで一早いハッピーニューイヤーを味わうことのできる国だ。 日本にいるときは基本的に日本の新年が終わったら寝る感じだった。 そのため他の国の新年に意識を向けることはあまりなかった。 今回はフィンランドにいるので、日本から中国、そしてアジア諸国を通って新年が近づいてくるのを感じることができてなかなか面白い経験だった。

さてフィンランドでの年越しは例のごとくテレビの1chの年末特番。 日本の紅白からゆく年くる年への流れのようなものか。 どうやらヘルシンキではフェリー港のあたりで大きなイベントをやっていたようだ。 大道芸からロックミュージックやダンスの舞台。 そして新年が近づくとカウントダウン。 それから新年の花火。  ヘルシンキの花火はさすが北欧といったところ。 お洒落なデザインの花火だった。 花火が終わった後はDJが出てきてダンスミュージックでみんな踊っていた。
一方私の住まいのエスポーエリア。 こちらでも5時過ぎくらいから個人の花火が続々と打ちあがっていた。 エスポーエリアはどこでも花火打ち上げて良いのかしら? ルールはわからないが、新年周りではいたるところで花火が打ちあがっていた。 もちろん大都市の花火とは規模が段違いだけれど、十分綺麗な花火をマンションの一室から楽しむことができたのは嬉しい誤算。

エスポーエリアの新しいバス路線の開始

ISO OMENAの地下鉄駅からバスへ

地下鉄matinkylä駅を出るとバスステーションは左手側

エスポーエリアの2017年のハイライトは、地下鉄路線の開通と言って良いだろう。 この地下鉄路線の開通に合わせてエスポーエリアのバス路線が変更されることになった。 変更は1月3日から。

バスステーション

電光掲示板でバスターミナルを確認してその番号へ

変更の内容としては基本的にヘルシンキのKamppiセンターへの直通のバスがなくなる模様。 その代わりとしてISO OMENAの中に屋内バスセンターが新しくできた。 このエスポーの西部ではISO OMENAのバスセンターを中心としたバスネットワークを作り、ヘルシンキとは地下鉄でつなごうというアイディアなのだろう。

IsoOmenaバス駅

バスが到着したらドア横のボタンを押してドアを開ける

というわけで早速新しいバスを使ってみた。 まずバスが地下鉄の乗り換え場所の横の屋内ターミナルへと乗り付けるようになった。 バスを降りたら数十メートル歩けば地下鉄の入り口だ。 外に出なくていいし、これは便利。
地下鉄から上がってくる場合だと少しだけ余計に時間がかかるけど誤差範囲内かな。 バスの時刻表示版は地下鉄の出口を出たらすぐにある。
すぐバスがなくても屋内で寒くないし時間を潰すお店もたくさんある。 そういうわけで今の所かなり好印象の新バス路線である。

関連記事

1. ついにヘルシンキからエスポーへの地下鉄が開通

2. フィンランドの公共交通 〜バスの乗り方

D

エクセルにスクリプト言語としてpythonが導入される?

エクセルにpythonが導入される?

最近エクセルにpythonが導入されるかもしれないという記事をいくつか読んだ。 実際に導入されるかはまだ決定はされていない模様。

python as an Excel scripting language

ことの発端は上記のマイクロソフトのユーザーフォーラム。 pythonの導入がだいぶ前にリクエストされていたそうなのだ。 もともとのポストは2015年の11月4日だから2年前。 それに対してマイクロソフトチームが昨年末の2017年11月14日に突如コメントをつける。 どういう需要があるのかを調査したいのでアンケートに協力してねっ、てことなのでポジティブなコメントと言えるだろう。 しかしアンケートしてるぐらいだしまだまだ初期も初期段階。

マイクロソフトエクセルチームからのアンケート

せっかくなのでアンケートに答えてきた。

  1. どこ住んでるの?
  2. お仕事の種類はお金目的?
  3. 会社の種類はどんな感じ?
  4. 研究開発的な専門職についてるの?
  5. どんだけの間python使ってる?
  6. pythonは何に使ってるの?
  7. エクセルとpythonが統合するとしたらどんなことに一番便利かな?
  8. 7と同じ質問だけど、こっちは一番じゃないので何個も答えて良い
  9. エクセルにpython導入されたら君の仕事のどんな役にたつの? 特に7、8の質問と関連づけてくれるとわかりやすいな。
  10. pythonスクリプトは自分で使ってるの? 他の人に提供してるの?
  11. いままでに何かエクセルとpythonを繋げるようなソフト使ってた?
  12. 他にどんなプログラミングする?
  13. 何か他にも意見ある?
  14. もうちょっと協力してくれるならemailアドレス教えて

重要な質問は7−9と11くらいかな。

エクセルとpython統合に関する私見

さてエクセルもpythonもデータ解析にちょろっとずつ使っている私の意見。
自分用にだけならば今のところこの二つを統合する利点は感じていない。 大量計算を簡単にしたいだけならpythonを使う。 もっと大量に早く計算したいとなるとむしろCとかにいく必要がある。
元データがエクセルデータなら簡単な計算はエクセルでそのまま計算。 そうじゃないならばpandasでpythonにインポートして計算させる。

ただし他の人のためのスクリプトを書くとなるとちょっと話しは別かな。 サイエンス界隈の人たちでもエクセルを使ってる人は多い。 裾野を広げたらもっと多くなるだろう。 何かしらスクリプトを書くとしたらデータがエクセルフォーマットでやってくることは多い。 しかも中身が統一されていない様々なフォーマットだったり。 そんな時にいちいちスクリプトを書き直すのは面倒臭い。 エクセルにネイティブにpythonが組み込まれていれば、そこらへんの融通は効きやすくなるんじゃないかなと期待はしている。

といわけでエクセルとpythonの統合で何かが便利になりそうという期待はあまりしていない。 しかし統合されたならば使ってみたい、と思うくらいの興味はあるというのが現状。 上のアンケートなどでとても便利でエクセレントなアイディアを出す人たちがいると良いのだけど。
またエクセルのような大御所がpythonを導入するならば、pythonコミュニティーがまた広がるんじゃないかなと思う。 pythonってわかりやすいし書きやすい良い言語だと思うのだよね。 遅いけど。

関連記事

1. pythonでのテキストデータの入出力方法いろいろ

2. pythonのまとめ

D

2017年の年の終わりに1年を振り返って

皆様2017年は良い年を過ごされましたか? 2017年も残すところ1日ですが、良いお年をお過ごし下さい。 また来年2018年も皆様にとって良い年となることをフィンランドの片隅から祈っております。

さて、今年は移動がとても多く忙しい年だった。 この投稿を書くにあたって嫁と今年何があったっけと話してみた。 しかし忙しかったせいか色々していたわりにはあまり正確には覚えていないものであった。
とはいえ思い出そうとすると思い出は蘇るもの。 それから今年書いた多くのブログの記事もいろいろと出来事を思い出すのに役立ってくれた。 この投稿ではそんな2017年の出来事を書いていきたい。

2017年の私的五大印象的出来事

まずは特にカテゴリーはなしに2017年の印象的だった出来事を5つ選んでみたい。

1 子供の誕生

やっぱりこの出産の日が今年の中で一番記憶に残っている。 フランスはグルノーブルでの出産。
早朝起き出した嫁とともに病院に向かったのだった。 そのまま順調に昼過ぎに出産。 そのまま入院で、病室に入ったのが夜7時。 入院用のお泊りセットを病院に持って来たのが夜11時。 そして生後0日の赤ちゃんとの眠れない夜。
それからは今に至るまで子供中心の慌ただしく寝不足の日々が続いている。

フランスで妊娠・出産8 〜急にやって来たその日・無痛分娩

2 フィンランドへの移住

もともとフランスの仕事は元ボスの好意で半年だけ雇っていただいていたのだった。 その半年の間に運良く次の仕事が近場のフィンランドで決定。
そういうわけでフィンランドに移住することになったのだ。 移住をするにあたって一つ大変なことがあった。 ちょうどこの移住の1ヶ月ほど前に子供が生まれたのだ。 そのため移動の準備も実際の移動もなかなかに大変。 とはいえフランスもフィンランドも赤ちゃん連れが旅できるように設備が良く整っていた。 他の国を旅するよりは全然楽だったのかなと今では思う。

赤ちゃんとフィンランドへの移動 〜フランス国内移動

赤ちゃんとフィンランドへの移動 〜飛行機編

3 ブログ始めました

今年の3月に始めたこのブログ。 なんだかんだで続いている。 あまりアクセスのないこのブログだけれど、それなりのユーザーが訪れてくれている投稿もできて来た。 ブログを書くのは結構楽しいので来年もそれなりの頻度で更新していきたいものだ。

Xserverでwordpressブログの始め方

4 ルーブル美術館でテロ事件に巻き込まれる

私たちがパリのルーブル美術館を見学していたちょうどその時、美術館の入り口に刃物を持った男が現れたのだった。 実際にそのテロリストがいた現場に遭遇したわけではない。 美術館のその時見学していた場所から美術館の一室に避難しないといけなかっただけ。
振り返って見るとそんなに差し迫って大変だったわけではない。 しかし本場フランス・パリでテロ事件から避難するというのは、その時にはなかなかショッキングなできごとであった。

海外旅行記・ヨーロッパ 〜何かが起こったルーブル美術館

5 フィンランドでの仕事の契約延長

ちょっと5つ目は何にするか悩んだのだけどこれ。 仕事はとても楽しいプロジェクトで満足。 それから今のところフィンランドという国にもとても満足している。 設備的には日本と同じレベルで住みやすく整っていると思う。 人々は一見むっつりしてる人も多いけど優しい人が多い。
というわけで仕事の契約を一年延長した。 次をどうするかはわからないけれど、来年の仕事の結果次第かな。 そろそろ定住できる場所を考えないといけない時期になってきた。

フィンランドでの仕事の契約延長に伴う諸手続き

2017年の五大ベスト観光スポット

今年は子供ができたこともあり、思うように旅行ができなかった。 とはいえフランスやフィンランドの近場で何箇所か旅することはできた。 その中で印象に残っている観光場所を上げていきたい。

1 サンクトペテルブルグの街並み

サンクトペテルブルグ

水の都サンクトペテルブルグ

初ロシア。 ロシア第二の都市サンクトペテルブルグはとても綺麗な街だった。 11月という北の地の観光にはあまり良い時期ではなかったけれど十分満足できた。 天気が良ければ最高だろう。 今度は是非夏に再訪したい。

海外旅行記・ヨーロッパ 〜サンクトペテルブルグ市内散策

2 パリのマルモッタン・モネ美術館

ほぼ全ての公立観光施設が無料になる第一日曜日。 私たちはマルモッタン・モネ美術館を訪れた。 しかし訪ねてみてびっくり。 マルモッタン・モネ美術館は私立美術館だったのだ。 無料特典はなし。 空いてて見学しやすかったのはそのおかげかもしれないけれど。
この美術館はとても良い。 印象派を見るならオルセーの最上階が第一候補だろうけれど、ここの大量のモネは全くもって見劣りしない。 モネの作品が展示されている地下室は美術館の内装や雰囲気も良い。 小さいけど平気で数時間くらいは過ごせそうな美術館であった。 ちなみに中は写真撮影禁止だったので写真がない。

海外旅行記・ヨーロッパ 〜パリの素敵な美術館

3 ドゥザルプ(les deux alpes)でスキー

les deux alpes

晴れたドゥザルプ

グルノーブルに来るたびに行こう行こうと思っていていけなかったアルプスのスキー場。 ついにそのうちの一つであるドゥザルプを訪れることができた。
このスキー場の売りはなんといっても標高3600mからの壮大な眺め。 そして高低差2000mのコースを一気に滑り降りたのはかなり爽快だった。 できることならばもう一度行きたいスキー場である。

海外旅行記・グルノーブル 〜3600mからのスキー

4 タリンのプラットフォームからの眺め

タリンのプラットフォーム

タリンの旧市街からバルト海まで一望

タリンの旧市街の眺めはなんだか明るいヨーロッパ臭のする眺め。 グルノーブルは割と暗めのイメージだったし、ヘルシンキはもう少し白っぽいイメージ。 タリンのプラットフォームからは、明るいヨーロッパの街並みを一望することができる。 北なのでやはり夏場がオススメだけど秋も悪くなかった。

海外旅行記・ヨーロッパ 〜エストニアの古都タリン

5 バルト海をフェリーで渡る北欧クルーズ旅行

地平線の雲に切られた太陽

フェリーから眺めるバルト海に落ちる夕陽

北欧はバルト海が各国をつないでいるのでフェリー旅行が盛んだ。 いくつか利点がある。 まず飛行機よりだいぶ安いことが多い。 それから小さいとはいえクルーズ船なので、中の施設には結構気合が入っている。 免税店で安いのはビールくらいだけど、品揃えは結構良し。 船の上、色々な雑事を忘れてのんびりと過ごすことができる。
ちょっと時間はかかるけれど遊んでいたり寝ていればすぐ到着する。 日程がおしてなければ北欧旅行はフェリーがオススメだ。

フェリーでの北欧クルーズ旅行色々

五大ベストレストラン

子供ができてからはやはりレストランに行く頻度もだいぶ減ってしまった。 とはいえ5個くらいなら上げられるだろうと頑張って書いてみることにする。

1 Restaurant L’INITIAL (PARIS)

パリのノートルダム大聖堂からセーヌ川を渡ってすぐそこ。 贔屓目はあるけれど、贔屓目抜きにしても今年の一番のレストラン。 日本人シェフが作り出すフレンチの味。 50ユーロのコースでこれだけ美味しいものが食べられるのなら通う価値あり。 最近混んでるとの噂。 予約はお早めに。

海外旅行記・ヨーロッパ 〜一度は訪れたい都パリ

2 Fisken på Disken (HELSINKI)

年末に駆け込みで出会った久々に美味しかったレストラン。 Kamppiセンターの5階。 値段も結構するけど、全般に新鮮な印象で美味しかった。 生牡蠣がとても美味しかった。 魚のスープも絶品。

ヘルシンキ・エスポーエリアのレストラン・バーその2

3 Teplo (ST. PETERSBURG)

サンクトペテルブルグは聖イサアク大聖堂のすぐ近くのカフェ。 フェリーの時間まで結構あったので立ち寄ったのだけど大正解。
まず食事が普通に美味しい。 ロシア料理も結構ある。 それからソファー席はもちろんテーブル席もおしゃれで良い感じ。
何と言ってもキッズルームが併設されているので子供づれに優しい。 やはりお子様連れに人気のようで、入り口にベビーカーがたくさん駐車されていたのを覚えている。 入り口が少し見つけにくいのでそこだけ注意。

海外旅行記・ヨーロッパ 〜サンクトペテルブルグ市内散策

4 Urban Deli (STOCKHOLM)

こちらもお洒落なストックホルムのレストラン。 フィッシュスープがなかなかのレベル。 混んでいるので予約した方が良いかもしれない。 私たちはレストラン席には入れず、バーカウンターで食べたんだった。 蟹も美味しかったんだけど、バーカウンターで蟹をほじくるのは結構大変だった。

海外旅行期・ヨーロッパ 〜ストックホルム観光一日目

5 Von Krahli Aed (TALLINN)

タリンの旧市街の中。 カラフルな野菜に彩られたメインプレートが特徴のレストラン。 そのカラフルな野菜はちょっと独特の味なので好き嫌いは分かれるかもしれない。 しかしラムのソテーは絶品だった。 内装もかなりおしゃれ。 中庭席や地下の席を今度は試してみたい。

海外旅行記・ヨーロッパ 〜エストニアの古都タリン

おまけ:ベストホテル Hotel Ekaterina (ST. PETERSBURG)

5大ってやろうと思ったら5箇所しかホテルに泊まっていなかった。 そういえば子供ができてからは同じホテルに連泊にすることが多い。 だいたいどこも100ユーロくらいのホテルだったと思うのだけど、ここが一番パフォーマンスが高かった。 ロシアの物価が安い影響もあるのだろうけど。 唯一の難点はバリアフリーじゃないのでベビーカーを運ぶのが大変だったこと。

海外旅行記・ヨーロッパ 〜エルミタージュ美術館へ

D

いろいろと各国異なる冬至の文化

今年の冬至は12月22日。 この日は子供の中国への旅行許可証を申請するのに中国大使館を訪れたのだった。 フィンランドの中国大使館はとても庶民的な感じ。 申請中も半分くらいは雑談をしながら。 その中で出た話題の一つが冬至の料理って何ということだった。
考えてみるとアメリカやフランスに住んでいた時は冬至を意識することはなかった。 クリスマス直前だからだ。 だけど中国・日本では冬至という日もそれなりに重要な日と言える。 またフィンランドでは冬至は暗さの頂点。 ここからはどんどんと明るくなるばかり。 そういう意味でも重要な日と言えるかもしれない。

中国の冬至

中国は旧正月の方を重視しているので、この年末年始の時期では冬至も結構重要なイベント。

湯円

黒胡麻餡の湯圓

嫁と大使館のお姉さんの話では、中国では冬至にはある食べものを食べるそうだ。 面白いことにこれが地方によって異なっている。 北部では餃子だそう。 中国は何かにつけて餃子は食べるが、北部では一斉に水餃子を消費する日となる。
一方南部では胡麻餡の入ったお餅のようなもの(湯圓)。 私の感覚だとこの餅は蒸した方が美味しいんじゃないかなと思ったけれど、伝統的には水煮で食べるそう。 水煮でも美味しかったけど。 ちなみに冷凍のものが中国マーケットで売っている。 このマーケットについてはちょっと前に記事を書いたので、投稿下部に関連記事を貼っておいた。
嫁の話だと胡麻餡が最も伝統的とのこと。 地方によってはナッツ類や肉や魚の場合もあるようだ。

フィンランドの冬至

ヘルシンキ冬至の1時の太陽

ヘルシンキの冬至の1時の太陽はこの高さ

さてフィンランドの冬至はクリスマスの直前。 なのでそんなにイベントイベントしている感じではなかった。
一方でフィンランドの冬至は気候的にとても特殊だ。 日の出は9時過ぎ。 日の入りは3時半。 今年は良く晴れていたので逆にその1日の短さを楽しむことができた。
上の写真は1時の太陽。 日の出や日の入りの写真と見紛うその太陽の低さ。 一日中、日の出・日の入りが続いているような感じだ。

日本の冬至

さて中国大使館のお姉さんに日本では冬至では何を食べるのかと尋ねられたわけだが、冬至の食べ物のイメージがなかった。 日本の冬至というと柚子湯のイメージはあったのだけど、食べ物は考えてみても浮かばなかった。 ということでせっかくなので調べてみた。
wikipediaによると、小豆粥、かぼちゃ、冷酒、こんにゃく、などなどを食べるそうだ[1]。 かぼちゃはギリギリ聞いたことがある気がするけれど、他は全く心当たりがない。 うちの地方ではあまり冬至の習慣がなかったしなあ。
しかしこれで次聞かれたら答えられるので良しとしよう。 文化的なことは聞かれることが多いのだ。

[1]「冬至」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org)。2017年12月23日 (水) 05:57更新版

関連記事

フィンランド・エスポーのスーパーマーケット

D

暗い冬を乗り越える 〜フィンランドの年末行事

フィンランドでは11月の暗黒の月を超えると、雪で少しずつ明るくなり始める。 それからクリスマス・新年へと人々の気持ちが上がっていくようだ。 クリスマスの今日はそんなフィンランドの年末行事について少し書いていきたい。

フィンランドのブラックフライデー

ブラックフライデー

ママたちがこぞってブラックフライデーセールに

なぜだかフィンランドに上陸していたブラックフライデー。 サンクスギビングデーの後で十一月の最終金曜日。 フィンランドではブラックウイークエンドとか言って、週末の間セールをしていたようだ。 アメリカの次週の月曜日にやるサイバーマンデーはまだ輸入されてないのかな。
ブラックフライデーは秋のセールと比べると少し小さめ。 格別に良いようなセール品は見なかった。 秋のセールと違って各所で同じ時期に一気にセールをする。 なので1箇所がこむことはない。 人混みを避けるにはこっちの方が良いかもしれない。

フィンランドの独立記念日

今年は100周年記念ということで気合が入っていた? フィンランドからロシアからの独立を宣言したのが1917年の12月6日だった。
フィンランドの独立記念日は、みんなでテレビの1チャンネルを見る日なのだ。 7時前くらいから大統領夫妻がたくさんのお客を招待し、ひたすらに握手をし続ける数時間の催し。 呼ばれるお客様は年によってテーマがあるそうで、毎年系統の違う人たちが招待される。 フィンランド人の友達が言うには有名人が多かったようだけど、フィンランド在住一年にも満たない私には知らない人ばかり。
最後の方は小さなダンスパーティーがある。 フィニッシュタンゴの音楽に合わせてひたすら踊る人々。 フィニッシュタンゴは不思議な感じだけど心地良いリズム。

この招待客たちがどんな服装をしていたかとかをしっかりとチェックしておく必要がある。 次の日のコーヒー時間に誰のドレスが良かったかを語るのがフィンランド流だそう。 なかなか派手なドレスを身にまとった方々が多く、目で楽しむことができた。

10時くらいからヘルシンキ中心部で花火がある。 テレビでも放映がある。 でもそんなに大きくない。

フィンランドのクリスマスマーケット

クリスマスマーケット・ヘルシンキ

ヘルシンキのクリスマスマーケット

フィンランドの友人の話ではフランスのマルシェドノエルとはちょっとイメージが違うそうだ。 どちらかというと結構実用的なマーケットだそう。 12月2日から12月22日まで。 一番大きいのはヘルシンキの有名な元老院広場(Senate Square)のところで開催されている。 ヘルシンキ大聖堂の前。 マーケットスクエアのところじゃないので注意。 嫁がちょっと覗きにいったのだけど朝早くてほとんどお店は閉まっていた模様。

クリスマス

フィンランドでは24日がクリスマスイブ、25日がクリスマス、そして26日がボクシングデーということで祝日。 ボクシングデーって聞き覚えがなかった。 どうやらイギリス発祥の祝日で、カナダなどイギリス系の国ではこの名前で親しまれているよう。

フィンランドのホットワイン

フィンランドのホットワインGlögi

フィンランドはヨーロッパでは珍しくイブも重要視しているそうな。 クリスマスは残り物を食べたり友達を尋ねたりして過ごすそう。 とてもフィンランドらしいのは伝統的にはサウナに入って身を清めてからクリスマスのお祝いをする。
フィンランドもホットワインがクリスマスシーズンの飲み物だそう。 Glögiと呼ばれるもの。 K-supermarketで購入したものはノンアルコールも4.7%のものも7ユーロくらいだった。 Alkoだともう少し濃いのが売ってるのかな?

公共交通機関はイブが休日スケジュールになり、クリスマスは11時までお休み。 11時以降は休日スケジュールで運行する模様。 クリスマスの朝はだいぶ静かになりそうだ。
スーパーマーケットは時間を短縮して営業するところが多いようだ。 イブはお昼くらいからお店が閉まり始める。 逆に一部のAlepaでは24時間営業をするそう。

ちなみにクリスマスはやはり家族と過ごす人が多いよう。 数少ないフィンランド人の友達は地元の家で過ごすと言っていた。 外国から来てる友達はフィンランド国内を回ったり、暗いフィンランドから飛行機で脱出する人など色々だ。 同じ部屋の同僚は一番仕事に集中できる週だと働く気まんまんだったけれど。

関連記事

フィンランドのショッピングセール週間 〜Crazy days

D&X