Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

【Pythonエンジニア列伝:vol.5-1】片柳薫子さん その1〜農業研究分野でのPythonデータ処理について聞きました〜

この記事はPythonエンジニア列伝第5回の1記事目です

Pythonエンジニア列伝は、「Pythonエンジニアたちのインタビューを通して、Pythonを使う人達がどんな人なのか、どんな場面で活用しているのか、なぜPythonに出会ったかなどを紐解く」連載です。

連載はトピックごとになっているので記事単体でも読むことができます。

f:id:nana_yu:20180702171553p:plain

関連記事

ご挨拶

f:id:nana_yu:20180702172029j:plain
haruこの度はインタビューを受けていただきありがとうございます。PyQ開発チームメンバーのkamekoとも面識があるということで、片柳さんに今回はお越しいただきました。その経歴は本企画にぴったりということもありお声がけしております。

片柳はい、よろしくお願いします。なんか雰囲気が面接みたいですね(笑)
f:id:nana_yu:20180629171540j:plain

f:id:nana_yu:20180629170817j:plain

f:id:nana_yu:20180702172032j:plain
kameko(笑)リラックスしてもらって大丈夫です。

もう一度インタビューの趣旨を説明させていただくと、さまざまなエンジニアの方々のキャリアや経歴、活動にスポットを当てることで「エンジニア」という人種にどのような人がいるのか知っていただくのが目的です。

同時に、今後の進路について考えている人の参考となるだけでなくアクションを起こせるぐらいの内容を提供できればと思っています。

片柳わかりました。
f:id:nana_yu:20180629171145j:plain

研究員とプログラミングの関係性

f:id:nana_yu:20180702172029j:plain
haru勤務先は農研機構の農業環境変動研究センターということですが、普段はどのような仕事をしていますか?

片柳普段はセンターの研究員として働いていまして、炭素と窒素・水の動態モデルを動かして生態系の物質動態・土壌由来温室効果ガスの排出量などを予測しています。

現在はモデルを使った全国規模の微量温室効果ガス排出量推定が主な仕事です。

f:id:nana_yu:20180629171145j:plain

片柳 大学院の研究から土壌学に携わるようになったのですが、大学は農学部ではなく薬学部の出身です。

薬を使う前の段階、食や環境など、より広い観点からの健康作りに貢献したいという思いが今の研究員としての出発点です。現在はモデリングの仕事がメインですが、学生時代は現場(田畑や森林)に出て作業していました。今でも現場作業は大好きで、土への愛は忘れていません。

f:id:nana_yu:20180629171145j:plain

f:id:nana_yu:20180702172029j:plain
haruなるほど。研究の中で各種データを扱うと思うのですが、その中でPythonをどのように使っているのでしょうか?

片柳予測用のモデルはC++で書かれたものを使っていまして、他の人の書いたそのプログラムを四苦八苦しながら直して使っていました。扱う各種データはExcelなどで扱っていたのですが、前処理・後処理と解析の際にPythonを利用することになりました。

はじめ仕事で扱うデータ量は畑一枚程度*1の圃場(ほじょう)を計測するだけでしたが、次第にそれが全国区のデータを扱うことになりました。

データ量が膨大になってくるとExcelでの手計算がきつく感じてきたこともあって、Pythonを使うようになりましたね。

f:id:nana_yu:20180629171145j:plain

f:id:nana_yu:20180702172029j:plain
haruたしかにそれだけのデータ量をExcelで処理するのは難しいですね。では、多くのプログラムがある中でPythonを選んだ理由はありますか?

片柳データの量が増えてきた時に、研究者仲間からインタープリタ言語を一つ使えるといい、とアドバイスをもらいまして。

その中でPythonを学ぶことにしたのは、以前、Natureにも論文を投稿しているスーパー研究者がPythonを使っているという話を聞いていたからです。そのとき「Python覚えてればその人と一緒に仕事できるかも!」と思って(笑)。

ミーハー心から始まりましたが、C++が全くわからない!と感じていた私でもPythonはすんなり学習し始められましたし、結果としては非常に良い選択だったなと思います。

f:id:nana_yu:20180629171145j:plain

f:id:nana_yu:20180702172032j:plain
kameko最近Pythonを活用して作成したものなどはありますか?

片柳土性図をPythonで書けるかなと試したりしています。完全に趣味の範囲内ですけど、pyhack(Python mini Hack-a-thon)に行った時に自己紹介に書けるようなプロダクトを作りたいなと思いまして。
f:id:nana_yu:20180629171145j:plain

f:id:nana_yu:20180702172032j:plain
kameko土性図とはどんなものなんですか?

片柳土の固体部分の鉱物粒子(粘土・シルト・砂)の割合で土壌の性質、土性を推定できるんですが、その土性を判定する三角図です。今後もう少し機能を追加したいです。

f:id:nana_yu:20180629171145j:plain

f:id:nana_yu:20180629172938p:plain
soil_texture_visualization で生成された三角図

soil_texture_visualization

f:id:nana_yu:20180702172029j:plain
haru専門領域に特化したライブラリなどあるんでしょうか?

片柳NumPy、pandas、Matplotlibなどは使っていますが、研究所単位ではなく個人で使用していることもあって、専門領域に特化した特別なライブラリは使っていないですね。
f:id:nana_yu:20180629171145j:plain

NumPy

Pythonで、数値計算を効率的に行うためのライブラリです。効率的な数値計算を行うため、ベクトルや行列などを表現できる型付きの多次元配列のサポートをPythonに加えるとともに、それらを操作するための数学関数ライブラリが提供されています。

URL:http://www.numpy.org/

pandas

Pythonでデータ解析を支援する、オープンソースライブラリです。表やテーブル、時系列データなどを操作するためのデータ構造と、それらを扱うメソッド・関数などが提供されています。

URL:https://pandas.pydata.org/

Matplotlib

Pythonでグラフを描画するためのライブラリです。

URL:https://matplotlib.org/

農業系研究分野での使用技術について

f:id:nana_yu:20180702172029j:plain
haru農業系をはじめ、片柳さんの周りでPythonが流行している雰囲気は感じますか?

片柳一年前ぐらいですが、うちの研究所で使っている人がいることを教えてもらいましたね。気象データを農業のために使う際の独自ライブラリを作ったりしています。この独自ライブラリは使用者も数百人いて、開発者の彼らはかなりPythonを使っているようです。
f:id:nana_yu:20180629171145j:plain

「メッシュ農業気象データ」

気象情報が農業現場で有効に活用されることを目指して、国立研究開発法人農業・食品産業技術総合研究機構(農研機構)が開発・運用する気象データサービスシステムです。全国の日別気象データを、約1km四方(基準地域メッシュ)を単位にオンデマンドで提供することができます。(リンク先公式ページより)

片柳その人と私が率先して「Python!Python!」と言っている感じですね。機械学習などを取り入れて欲しいなどの需要は感じますが、まだまだという感じですね。
f:id:nana_yu:20180629171145j:plain

f:id:nana_yu:20180702172029j:plain
haru他の研究者の方はどういったプログラムやツールを使っているのでしょうか?

片柳生態学・農業気象学の分野ではRが主流で、先日は機械学習もRで回しているという話を聞きました。また、スーパーコンピュータを使って全球気候モデルを動かしている分野のあたりではFORTRAN、農地の現場調査を主にやっている分野ではExcelや市販の統計処理・可視化ソフトの利用が一般的という印象です。特に困らないならExcelの利用もありだと思っています。
f:id:nana_yu:20180629171145j:plain

f:id:nana_yu:20180702172029j:plain
haruやはり従来のシステムからPythonを主流にするのは難しいところがありますよね。

片柳そうですね。たとえば、「Pythonに変えれば研究にまつわるデータ処理は高速になるのか?」と言われるとはっきり言えないところもあります。おそらくなるはずだけれど、大規模データを扱う研究者ばかりではないこともあって、学習コストと天秤にかけると主流になりづらいのではないかなと思います。

また、学術系のユーザーが多い故に、最新の統計アルゴリズムはRの方が早く実装されるという事もあります。研究分野が違うとメジャーな使用ツールは異なってくるので、私個人としてもPythonの普及度合いは把握しきれてないところもあります。周辺分野に地味に普及活動をして、需要に合う研究者に知って貰えたらいいと思います。

f:id:nana_yu:20180629171145j:plain

次回の内容

その2は、共著である「PythonユーザのためのJupyter[実践]入門」についてお伺いしています。

blog.pyq.jp

*1:※畑一枚は日本(北海道を除く)では~数ヘクタール(1ヘクタール=10,000平方メートル)

Copyright ©2017- BeProud Inc. All rights reserved.