Officeドキュメントはどこまでスクリプトで自動編集できるのか? (2) ~関数のプロット~

技研のまつけんです。

前回に引き続き、Officeドキュメントを自動編集したり自動生成したりしたいと思います。今回はPowerPoint文書に関数を「曲線」でプロットしてみます。
例えば、4周期分の正弦波をプロットすると以下のようになります:

続きを読む

Pandasの集計結果をネストしたdictに変換

技研のまつけんです。

Pythonでデータの集計をする際はPandasが便利です。特にgroupby()とcount()やsum()やagg()を組み合わせると、大抵の集計は出来てしまいます。集計する方法などもサーチエンジンなどで検索すると豊富に例が得られます。しかしながら、その結果を取り出す (参照する) 方法については、なかなか情報が見つかりません。結局、index/columns/loc/ilocなどを組み合わせることで取り出すことにしました。今回は、groupby(…).count()の結果をループなどで取り出す方法や、Python標準のdict形式に変換する方法について紹介したいと思います。

続きを読む

Tableau Online上のメタデータをMetadata APIを使って取得する

この記事は『CRESCO Advent Calendar 2021』5日目の記事です。

こんにちは、データテクノロジーセンターのn-satoです。

以前TableauOnlineまたはTableauServer上のワークブックやデータソースを管理できるツールを作りたいなと思い、Tableauが提供するREST APIを用いて実装しようとしました。
欲しい情報を取得するためにいろいろなREST APIのエンドポイントにリクエストを投げる必要があり、なかなか利用するのに苦労しました。

Metadata APIはエンドポイント1つに対し、GraphQLを使うことでエンドポイント1つでもいろいろ情報が取れるとのことです。
GraphQL自体使ったことがなかったので、どんな風に実装できるのか調査しました。

本記事ではPythonでMetadata APIでGraphQLのクエリを発行できるようになるまでを記事にしたいと思います。

続きを読む

Python用ライブラリ用のwrapperを作って使っている話

技術研究所 (技研) のまつけんです。

Python用のライブラリには、cv2 (OpenCV)、numpy (NumPy)、pandas (Pandas)などがあります。大抵のことが出来るので大変便利なのですが、引数の与え方などで不便を感じることがあります。そこで、今回は、私が普段、それらのライブラリをwrapするのに使っているサブルーチンを紹介したいと思います。

OpenCV用 (wrap_cv2.py)

色の定義

頻繁に利用する色 (無彩色、原色、補色) を定義します。OpenCVはRGBではなくBGRが基本なので、その順番となっています。

続きを読む

Jupyter NotebookからGPUの占有状況をワンタッチで調べる

技術研究所(技研)のまつけんです。

技研では現在、2台のゲーミングデスクトップPCにLinux (Ubuntu)とJupyterをインストールして、共有で計算サーバとして使っています。2台のPCにグラフィックボードが2枚ずつ搭載しているのですが、技研メンバ全員が使うので、GPUやGDDR RAMなどのリソースの順番待ちが発生します。

グラフィックボードのステータスはnvidia-smiコマンドで確認するのですが、タスクの詳細(オーナなど)については、別途psコマンドなどで調べる必要があります。そこで今回、nvidia-smiコマンドの結果から自動的にpsコマンドで詳細を調べるシェルスクリプトを作ってみました(nvidia-smiのバージョンが450の場合は、awk ‘{print $5}’ ):

続きを読む

OpenCVでレシートを適切なサイズに縮小する

技術研究所 (技研) のまつけんです。

リモートワークが増えたことで、会社に領収書やレシートの写真を提出することが多くなりました。紙のレシートを、スキャナやスマホで電子化する (画像ファイルにする) と、不必要に高精細な画像になってしまうことが多いように感じます。そこで、今回は、レシートの写真を自動で、文字が判読できる範囲内で縮小する (解像度を落とす) Pythonプログラムを作成してみました。機械学習などは使わず、OpenCVとNumPyだけで画像処理によって実現しています。

続きを読む

機械学習用の計算サーバ構築手順を纏めてみた

技術研究所(技研)のまつけんです。

技研では現在、2台のゲーミングデスクトップPCにLinux (Ubuntu)とJupyterをインストールして、共有で計算(主に機械学習)サーバとして使っています。最近、計算量が増えてきたので、近いうちに3台目を購入し、セットアップする予定です。また、休眠状態だったゲーミングラップトップPCがあったので、一足先にセットアップして計算サーバ化しました。この記事では技研で確立した「機械学習用の計算サーバ構築手順」を紹介したいと思います。OSはUbuntu Server 20.04 LTSです。

※ここに記載されいてる情報は2020年9月現在のものです。また、今回のセットアップ対象は、DELLのゲーミングラップトップG5[1]です。

続きを読む

docker-composeにてFastAPIをHTTPSで動かしてみる

データテクノロジーセンター 兼 3D円グラフ撲滅委員吉野祥 です。

Dockerによる設定は一度設定が完了して、しばらく触らないと、なぜそのように設定したのかを個人的に忘れがちになります。

本記事では、備忘録のための車輪の再開発をしつつ、Gunicornによるプロセス監視など使ったことがなかったパッケージも使って、FastAPIを動かしてみようと思います。

続きを読む

MeCabをPythonで形態素解析 + FlaskでAPI

こんにちは、エクスペリエンスデザインセンターのsgi-changです。

今日は、MeCabをPythonで使って形態素解析をしてみます。

さらに音声認識の結果とかを渡せるよう、API化してみます。

以下の流れで進めていきたいと思います。

  • 形態素解析とは
  • MeCabとは
  • Flaskとは
  • 実装編

それでは、いざ、形態素解析の世界へ

続きを読む

Python初心者でも”スクレイピング”で楽をしたい!

この記事は『CRESCO Advent Calendar 2020』 13日目の記事です。

はじめまして!
まりもです。

クレスコエンジニアブログ初投稿です!(皆様お手柔らかに…)
先に言い訳を並べますが、私は文学部を卒業し、現在営業職に就いています。
間違いなく他のブロガーの皆様よりもITには疎めなタイプの人間です…。

そんな私でも“楽をしたい!”の思いを胸に今回プログラミングにチャレンジしてみました!


私は情報収集のために定期的に色々なサイトをチェックしているのですが、
「複数のサイトを一通り確認したものの何も更新がなかった」
という日がちょこちょこあったりします。(激萎え)

そこで今回は、pythonを使って
サイトの更新有無を確認するソースを書いてみようと思います。
(ゆくゆくは更新情報をメール通知するツールを作りたい…!)

続きを読む