iPhoneでJupyter Notebookを使ってPythonしてみた!

厳密には Juno Connectというアプリなんですが、ほぼ Jupyter Notebookそのままに使えます。 Juno Connect 1.5.10分類: 開発ツール,教育価格: ¥1,220 (Rational Matter) iPhoneでPythonプログラミングと言えば、Pythonista3が有名だと思います。 Pythonista 3 3.3分類: 仕事効率化,教育価格: ¥1,220 (omz:software) 私も以前「[Pythonista3] Youtubeダウンロードライブラリ「Pytube」がまたエラーを出すようになったので「youtube-dl」に変更してみた!」や「よく使う駅名をリスト化して、簡単にYahoo!乗換案内検索ができるpythonスクリプトを作ってみた!」など多数のスクリプトを公開してます。 でもPythonista3は凄いアプリなんですが、データ解析等でよく使うpandas等が使えなかったりするんですよ。(T_T) 会社ではJupyter Notebookの開発環境でPythonのコーディングをしてるので、出来ればiPhoneでもJupyter Notebookが使えないかと思ってました。 そしたら、Juno Connectというアプリがあることを知ってダウンロードした訳です。 Juno ConnectとはiOS上で動作するJupyterクライアントアプリで、iPhoneにインストールしたJuno ConnectからリモートJupyterサーバーにアクセスしてデータ分析を行います。 Jupyterサーバーとして以下の4つが使えますが、これ以外にも独自のサーバーもOKなようです。 Juno社のリモートサーバー(Try Jupyter!)Azure NotebooksCOCALCbinder 私はMicrosoftのアカウントを持ってるのでAzure Notebooksにしてましたが、2020年9月に使えなくなるらしいので、COCALCに変更しました。 ちなみにリモートサーバーを使わずにローカルでJupyter Notebookが使えるJunoというアプリもあります。こちらの方が更に高いですが、お好きな方で。 Juno 1.2.8分類: 開発ツール,教育価格: ¥1,840 (Rational Matter) n次近似 前回、iPhoneのMatlabで行列を使ってn次近似する方法を紹介しました。 iPhoneのMatlabを使ってみた! 今回も同じように行列を使って近似式を求めてもいいんですが、折角Pythonなのでライブラリを使って近似してみます。 ・ExcelData.xlsx取得部 import numpy as np import pandas as pd df=pd.read_excel('ExcelData.xlsx',index_col=0) B=df.values Bnp=np.matrix(B) print(Bnp) ・n次近似指定部 print('n次近似(n>=1) n=?') N=int(input()) ・n次近似演算、グラフ化部 import numpy as np import matplotlib.pyplot as plt x=Bnp[:,0].T.tolist()[0] y=Bnp[:,1].T.tolist()[0] \#近似式の係数 res=np.polyfit(x,y,N) xMax=Bnp[:,0].max() RANGE=10 xMax=int(np.ceil(xMax/RANGE)*RANGE) \#近似式の計算 yy = np.poly1d(res)(x) \#グラフ化 plt.plot(x,yy) plt.plot(Bnp[:,0],Bnp[:,1],marker='*',linestyle='None') plt.xlim(0,xMax) \#グラフタイトルに近似式 title='' for i in reversed(range(N+1)): if i==N: ...

iPhoneのMatlabを使ってみた!

最近 会社でMatlabを使うことがたまにあって、文法とか覚えるのに色々弄れるiPhone版とかないかなぁと思って調べたらあるじゃないですか!しかも無料で! MATLAB Mobile 8.1分類: ビジネス,教育価格: 無料 (MathWorks) まぁ、無料なのは作成したファイルが250MBまでのようですが、練習するだけなら十分です。(^^) n次近似式算出方法 そこで練習として、複数点からn次近似するプログラムを作ってみようと思います。 近似方法として行列を使った方法をやってみます。 n次近似も同様にすればOKです。 Matlab mファイル 以下のプログラムを適当なファイル名(拡張子.m)で保存します。 clear;clc; %各行(x,y)の行列取得 B=readmatrix('ExcelData.xlsx'); B=B(:,2:end) plot(B(:,1),B(:,2),'*'); %N次近似 prompt='n次近似(n>=1) n=?'; N=input(prompt) a=[]; %係数a[] A=[]; dataNum=size(B,1); for i=1: dataNum A(i,1)=1; for j=1:N A(i,j+1)= B(i,1)^j; end y(i,1)=B(i,2); end AtA=A.'*A; Aty=A.'*y; ab=inv(AtA)*Aty; for i=1:N+1 a(i,1)=ab(i,1); end a(:,1) %x軸最大 xMax=max(B(:,1)); range=10; xMax=ceil(xMax/range)*range; xx=0:xMax; yy=0; for i=1:N+1 yy=yy+a(i,1)*xx.^(i-1); end plot(xx,yy); hold on plot(B(:,1),B(:,2),'*'); hold off また、元データをExcelData.xlsxというファイル名でカレントディレクトリに保存します。 mファイル以外のファイルの保存方法は後述します。 ここで使ったExcelData.xlsxは以下のようなファイルになってます。 ▼アプリ上部の実行ボタンをタップ ▼読み込んだExcelData.xlsxが表示されるので、グラフを見たければ右下のグラフアイコンか右上のグラフボタンをタップ ▼グラフが表示されるので、完了をタップして戻る ▼3次近似の場合、3を入力 ▼3次近似式の各係数が表示されるので、グラフアイコンかグラフボタンをタップ ▼3次近似のグラフが表示されます。 mファイル以外の保存方法 ▼ブラウザーでwww.mathworks.com/loginにアクセスしてMATLAB Driveにログインして、保存したいフォルダをタップ ▼矢印ボタンをタップしてファイルをタップ ▼ファイルを選択をタップ ▼ブラウズをタップしてアップロードしたいファイルを選択 ▼指定したフォルダにアップロードされました。 最後に Matlabというだけあって、行列(Matrix)の演算は簡単に出来ますね。グラフ化も簡単でした。 iPhoneだけで出来るというのがいいですね。 今後ももっと色々練習してみようと思います。(^^) 紹介したアプリ MATLAB ...

[Pythonista3] 複数画像の同じ位置をトリミングできるPythonスクリプトを作ってみた

お久しぶりです みなさんは複数画像の同じ位置をまとめてトリミングしたい時ってないですか? 今話題のきくちゆうきさん(@yuukikikuchi)作の「100日後に死ぬワニƒˆ」のスクショを毎日保存していると・・・ ▼こんな感じの画像が大量に溜まってると思います。 まぁ、このままでもいいんですが、やっぱり周りの不要部分はカットしたいですよね。 でも、複数画像の同じ位置をまとめてトリミングできるアプリを私は持ってなかったので、Pythonista3で作ってみました。 Pythonista 3 3.3 分類: 仕事効率化,教育 価格: ¥1,220 (omz:software) スクリプトのダウンロード 追記2020/3/21 21:30 スクリプトに一部ミスがあり、Pythonistaのフォルダに生成したトリミング画像をカメラロールにコピーした後、Pythonistaのフォルダから削除するのを忘れてました。m(_ _)m 以下のスクリプトは修正版です。 この前にダウンロードされた方は、お手数ですがPythonistaのフォルダからトリミング画像を削除して下さい。 修正版 Download ActionMultiImageCutter.py 使ってみる 最初の1枚だけトリミングして、その後残りの画像を選択すればまとめて同じ位置がトリミングされます。 ▼スクリプトを実行するとカメラロールが開くので、トリミングしたい画像を1枚選択 ▼画像サイズが表示されるので、Topからカットしたい画素数を入力すると ▼Topのカットする位置に赤線が表示されます ちなみに画素数は、y座標は上から下に行くほど大きく、x座標は左から右に行くほど大きくなります。 ▼この位置で良ければ「y」を入力 ▼もし以下のように赤線がずれてれば 「n」を入力してカット位置を再入力して下さい。 ▼yを入力すれば次はBottomの設定です。 ▼同様にしてLeft、Rightも設定し全て「y」になるとトリミングするか確認されるので「y」を入力 ▼トリミングした画像がカメラロールに保存され、他の画像も同じ位置のトリミングをする場合は「y」を入力 ▼トリミングしたい画像を選択すると ▼複数のトリミング画像がカメラロールに保存されて終了です。 ▼大量に保存されました。(^^; 最後に 最初の1枚目は慣れるまではちょっと手間かもしれませんが、設定してしまえば100枚くらいのトリミングなら数秒で終わるので是非お試し下さい。(^^) 使ったアプリ Pythonista 3 3.3 分類: 仕事効率化,教育 価格: ¥1,220 (omz:software) happyChappy(@happyChappy1115)でした。 Sponsored Link Posted from するぷろ for iOS.

[RaspberryPi] ラズパイ3B+とKuman kitsで温湿度計+時計の液晶モニターを作ってみた

ラズパイって ご存じですか? 小さくて安いお手軽超小型PCボードで、本ブログでも過去に何度か紹介してます。 Raspberry Pi3をノートPCで使えるようにしてみた 〜準備編 Raspberry Pi3をノートPCで使えるようにしてみた 〜ノートPC接続編 ラズパイのマイクロSDバックアップ方法と、バックアップの書き出し時にエラーが出る時の対処方法 PCとSSH接続したRaspberryPi3とファイル交換する方法 ネット上のラズパイにiPhoneでSSH接続してVNCでリモート操作する方法 今回何か作ってみたいなぁと思って、新たにラズパイスターターキットとKuman kitsを購入しました。 ↓スターターキット ABOX Raspberry Pi 3 Model b+ ラズベリーパイ 3 b+【2018新型】 MicroSDHCカード32G/NOOBSシステムプリインストール/カードリーダ /5V/3A スイッチ付電源/高品質HDMIケーブルライン/ヒートシンク /簡単に取り付けケース /日本語取扱説明書posted with カエレバ楽天市場Amazon価格.com ↓Kuman kits(Amazonのみ) Kuman 35個 Raspberry Piに適用 初心者 電子工作 1602液晶ディスプレイ+温度/湿度センサ+BMP180デジタル気圧センサー+HC-SR501赤外線モーションセンサモジュール 子供遊び Raspberry Pi 3 2 model B A A+ + に対応 電子工作入門キット ラズベリーパイ K71:Amazon.co.jp:おもちゃ スターターキットはSDカードやスイッチ付き電源アダプタやボックスなどが付いていて、即ラズパイが使えるようになってます。 Kumanキットは温湿度センサや液晶モニターやブレッドボード、ジャンパーワイヤー等が付いていて、色んな電子工作が出来るようになってます。 何を作るか いずれは、家族がエアコンを点ける時の温湿度を学習して部屋の温湿度に応じて自動でエアコンをオンオフさせたり出来たらいいなぁと思ってます。そうすれば、愛犬ハッピーをお留守番させて外出してる時も自動でエアコンがオンオフされるので、部屋が暑過ぎず寒過ぎず快適になって、お留守番させてても安心です。(^^) とは言え、いきなりそんなのは作れないので、まずは温湿度を液晶モニターに表示させるのを作りました。ついでに日時も表示するようにしました。 ハード構成 Kumanキットの中で使うのは以下です。 ブレッドボード温湿度センサ液晶モニタージャンパーワイヤー(メス-メス)ジャンパーワイヤー(オス-オス) ▼ブレッドボードは以下のように、上下端は2ラインずつ横に繋がってて、中は縦に2ラインが横方向に並んだ構成になってます。 赤線部分が繋がった部分です。 ここにオスタイプのジャンパーワイヤーやICの足を刺して回路を組みます。 Kumanキットには8cmCDも付いていて、この中に色んな回路のマニュアルやPythonコードも入ってます。 今回作る温湿度センサ+液晶モニターもマニュアルやPythonコードがあったんですが、ともに液晶モニターがI2C用ではなく前のバージョンの多ピンタイプ用でした。 (多ピンタイプだと接続が大変なので、最近の液晶モニターはI2C用に変わったようです。でも、マニュアルやPythonコードは対応してませんでした。(T_T)) ▼以下のように液晶モニターに多ピン-I2C変換ボードが接続されてます。 ▼また、温湿度センサのピン配置は以下です。 ▼以下はラズパイのピン配置です。 接続 ▼説明のために、ブレッドボードの各ラインを以下のような番号とします。 以下のように部品を接続します。 温湿度センサGND~ボード3(直刺し)温湿度センサDATA〜ボード4(直刺し)温湿度センサVCC〜ボード5(直刺し)ボード1〜オスジャンパー〜ボード5ボード2〜オスジャンパー〜ボード3ボード4〜オスジャンパー〜メスジャンパー〜ラズパイ8pボード2〜オスジャンパー〜メスジャンパー〜液晶I2C GNDボード1〜オスジャンパー〜メスジャンパー〜液晶I2C VCC液晶I2C SDA〜メスジャンパー〜ラズパイ3p液晶I2C SCL〜メスジャンパー〜ラズパイ5pボード1〜オスジャンパー〜メスジャンパー〜ラズパイ1pボード2〜オスジャンパー〜メスジャンパー〜ラズパイ6p Pythonコード 以下のコードをダウンロードして下さい。 Download Actiondht11.py Download ActiontemperatureI2C.py ダウンロードしたPythonコードをラズパイのお好きなフォルダにコピーして下さい。 私はアクセスしやすいようにラズパイのデスクトップにPythonというフォルダを作って、その中に入れてます。 準備 ラズパイでI2CやGPIOを使えるようにします。 ラズパイで以下のコマンドを実行して、設定画面を出して下さい。 sudo raspi-config ▼設定の「5 Interfacing Options」をカーソルキーで選択してEnter ▼「P5 I2C」をカーソルキーで選択してEnter ▼「はい」「了解」でI2Cの有効化終了 同様にして、「P8 Remote GPIO」も有効化して下さい。「P2 ...

[Pythonista3] Youtubeダウンロードライブラリ「Pytube」がまたエラーを出すようになったので「youtube-dl」に変更してみた!

お久しぶりです! 超久しぶりなのでモブログの書き方を忘れてしまいました(^^; これからも気が向いた時に緩〜く更新すると思いますので、よろしくお願いします。m(_ _)m Youtubeダウンローダー 以前私のブログでYoutubeダウンロードライブラリ「Pytube」を使ったPythonista3スクリプト「getYoutube2」を紹介しました。 Pytubeの仕様が変わった?Pythonista3のgetYoutubeが動かなくなったので作り直してみた。おまけ機能付き! でもこのライブラリ「Pytube」ってよく仕様が変わるし、今回久しぶりに使ってみたら何故かまたエラーが出るようになりました。 ▼こんな感じです。(><) なので、別のライブラリ「youtube-dl」に変更することにしました。 インストール youtube-dlをiPhoneにインストールするには、コマンドラインを使えるようにするStaShが必要です。まだお持ちじゃない方は以下のサイトを参考にStaShを導入して下さい。 Pythonista 3 にStaSh をインストールする。 - Qiita そしてStaSh上で「pip install youtube-dl」を実行して下さい。 ダウンロード 以下のリンクからPythonista3スクリプトをダウンロードして下さい。 Download ActionDropbox - getYoutube3.py また、YoutubeのリンクからPythonista3スクリプトを実行するためにスクリプトのアイコン化が必要です。先程の私のブログの「準備」を参考にしてスクリプトをアイコン化して下さい。 使ってみる ▼ダウンロードしたい動画の共有をタップ ▼その他をタップして、Run Pythonista Scriptをタップ ▼アイコン化したgetYoutube3をタップ ▼ダウンロードが終了してフォトライブラリに保存したければ「y」を入力 ▼フォトライブラリに保存されました。 ▼もしフォトライブラリに保存したくなければ「n」を入力すればOKです。その場合はgetYoutube3があるフォルダに保存されます。 ▼Quick Lookをタップすれば再生できます。 最後に これで変なエラーに悩まされなくなるといいなと思ってます。 皆さんも是非お試し下さい。(^^) 使ったアプリ Pythonista 3 3.2 分類: 仕事効率化,教育 価格: ¥1,200 (omz:software) YouTube 14.23.8 分類: 写真/ビデオ,エンターテインメント 価格: 無料 (Google LLC) happyChappy(@happyChappy1115)でした。 Sponsored Link Posted from するぷろ for iOS.