gadgetking

Windows, Mac, Linuxを使って何かちょっとしたことをする時に時々しかや…

gadgetking

Windows, Mac, Linuxを使って何かちょっとしたことをする時に時々しかやらないことは一瞬で忘れてしまうので自分の備忘録的にノートを残しています。Arduino, Raspberry Pi等のガジェットを使った場合のIoT的なノートも書くつもりです。

最近の記事

pandasのapplyに与えるパラメータの扱い方

pandasを使っていて次のように集計したい場合があった。何をやっているかというと、PARAM1の列とPARAM3の列を足した値を新たな列PARAM1+PARAM3に追加している。 import pandas as pddf = pd.DataFrame({ 'TYPE': ['A', 'B', 'C', 'D', 'E'], 'DATE': ['2023/1/1', '2023/2/1', '2023/3/1', '2023/4/1', '2023/5/1']

    • Pythonのlstrip(rstrip, strip)の挙動について

      Pythonのlstripの挙動についてなんかおかしいと思ったら勘違いだったようなのでメモ。 >>> s = '/home/testuser/contents/model'>>> s.lstrip('/home/testuser/')'contents/model' で /home/testuser/ を文字列から取り除くことができてうまく行ったと思ったのだがこれは勘違い。 >>> s = '/home/testuser/contents/model'>>> s.lst

      • pandasで日付データを扱う

        pandasでcsvデータを読み込む方法を前のnoteに書いたがそれの続き。 文字列型のデータをDateTime型に変換pandasのDataFameに読み込んだデータはそのままだと文字列型になっているのでDateTime型に変更してあげるのが良い。 import datetimedf['A'] = pd.to_datetime(df['日時'])df['B'] = pd.to_datetime(df['日時べた'], format='%Y%m%d %H%M%S')df

        • pandasにcsvをファイルではなく変数から読み込む

          pandasのDataFrameにcsvファイルからデータを読み込むのはread_csv()で簡単に出来るが、いわゆるヒアドキュメントとなっているcsvフォーマットのデータを読み込む簡単な方法(ライブラリ)がなかったのであんまりすっきりしないが備忘録でやり方を書いておく。 DATA="""日時,日時べた,個数2022-11-22 21:54:27.884993,20221122 215427,1232022-12-23 21:57:21.885405,20221223 21

        pandasのapplyに与えるパラメータの扱い方

          年賀状作成で困ったことについて書き留める(続き)

          前回、年賀状作成で困ったことを書いたがその続き。 郵便番号がゼロサプレス問題で0から始まるものが7桁ではなく6桁になってしまった件。その後確認してみたら出力したCSVファイルの郵便番号はちゃんと0から始まる7桁で出力されていたので問題ははがき印刷ソフトの住所録インポート機能が正しく読み込んでくれないことに問題があった模様。 そこで正しく読み込ませるには郵便番号を「012-3456」とハイフン付きで行えば良いことが分かったので以下のようにreplaceで正規表現で数字を3桁

          年賀状作成で困ったことについて書き留める(続き)

          年賀状作成で困ったことについて書き留める

          来年の年賀状作成の自分への備忘録として年賀状作成の顛末をここに記す。 困ったことは3つ 困ったことを先に書いておく。 某はがき印刷ソフトが宛名印刷をサポートしてくれなくなった。 「高」という漢字には種類があって「髙」という漢字はShift-JISで出力出来ない。 郵便番号には「0」から始まるものがあるので読み込み(書き出し)に失敗すると6桁の少ない郵便番号になってしまう。 宛名印刷が例年通りに出来ない。 例年年賀状の宛名を印刷するデータはExcelに入力したもの

          年賀状作成で困ったことについて書き留める

          Pythonで辞書型データ中の複数のキーが一致したデータの重複を削除する

          辞書型データの第1のキーと第2のキーが同じだったらそのデータを削除する ということをやりたくて調べたらpandasなら簡単にできることがわかった。 nameとverが同じデータの場合に削除されている。

          Pythonで辞書型データ中の複数のキーが一致したデータの重複を削除する

          Pythonのtimedeltaを30分毎の表示にする

          作業の工数管理を行うときにタイムスタンプからそれぞれの作業時間を算出して入力しているがその時に単位を30分毎にしたかったので調べてみたらpandasを使うと簡単に出来ることがわかった。 結果raw data0 0 days 00:22:001 0 days 00:48:00dtype: timedelta64[ns]ceiled data (30min)0 0 days 00:30:001 0 days 01:00:00dtype: timedelta64[

          Pythonのtimedeltaを30分毎の表示にする

          Pythonでコロンで区切られたテキストデータをkey, valueとしてdictにする

          テキストファイルに記載した英単語のメモから辞書を作りたくてやってみたら簡潔に書くのは簡単そうで以外と頭を捻ったので書いておく。 data = '''pen: ペンbook: 本'''dictionary = {}for line in data.splitlines(): if ":" in line: # stripで前後の空白を削除 dictionary.update(dict([[x.strip() for x in line.split(

          Pythonでコロンで区切られたテキストデータをkey, valueとしてdictにする

          macでtkinterがエラーになるときの対処法

          brew install tcl-tk としてPythonからtkinterを使うと import tkinter as tk File "/usr/local/Cellar/python@3.9/3.9.7_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 37, in <module> import _tkinter # If this

          macでtkinterがエラーになるときの対処法

          Raspberry Piにngrokをインストール

          自宅に置いているRaspberry Piにリモートから簡単にアクセス出来るようにするためにngrokを導入。 インストール方法 まずStable版のnode.jsをインストールするためにnode.jsのバージョン管理を行うパッケージ 'n' をインストールする。 > sudo npm install n -g 次に 'n' を使ってStable(LTS)版のnode.jsをインストールする。 > sudo n lts aptでインストールした不要となった node

          Raspberry Piにngrokをインストール

          Raspberry Pi PicoでMicroPython

          なかなか入手困難だったRaspberry Pi Picoをようやく入手した。 さっそくPythonでプログラミングを試してみることにした。 Pythonで動かすには公式サイトのGetting Start with MicroPythonに従って以下の通りにすれば良い。 1. MicroPython UF2 ファイルをダウンロードする。 2. PicoのBOOTSEL ボタンを押しながらPCのUSBポートにPicoを接続し、接続したらボタンを離す。 3. 「RPI-RP2

          Raspberry Pi PicoでMicroPython

          Google Spreadsheetに外からhttpでURLを叩いてデータを保存する

          Google Spreadsheetには外からhttpでURL を叩くことで簡単にデータを保存することが出来る。つまりRaspberry Piで取得したセンサーデータをGoogle Spreadsheetに保存するようなことが簡単に出来る。 基本的なやり方1. Google Spreadsheetのスクリプトエディタにdo_get()関数を作りそこでhttpでgetが実行されたときのパラメータをシートに保存する処理を書く。 2. コードをウェブアプリとしてデプロイして生成さ

          Google Spreadsheetに外からhttpでURLを叩いてデータを保存する

          PythonでLINE Notifyする

          スマホにPush通知する手段として何が良いか考えたときにLINE Notifyを使うのが一番手軽な気がしている。 LINE NotifyはLINE NotifyのページからTokenを発行し、そのTokenを以下のpythonスクリプトに渡すだけで簡単にスマホに通知を送ることができる。 Tokenを発行する際にトークルームを指定するとそのトークルームに通知を飛ばすことができるため通知を送りたい人をそのトークルームに招待しておくとそのトークルームの参加者に一斉通知を行うこと

          PythonでLINE Notifyする

          pythonでpdfファイルから文字列を抽出する

          pythonでpdfファイルから日本語を含む文字列を引っ張りだしたいと思って調べたら pdfminer.six を使えば簡単に出来ることがわかった。いろいろパラメータを指定する必要があるらしいが親切にもpdfminer.high_levelという関数が用意されているので超簡単。 準備pip3 install pdfminer.six ソースコード 今回のエッセンス特に難しいことはない。

          pythonでpdfファイルから文字列を抽出する

          macからraspberry piのファイルに直接アクセス(afp)

          普段raspberry piのpythonのコードは直接sshでログインしてvimで編集することが多いのだが、最近macにemacsの環境をセットアップしたのでmacのemacsから直接raspberry piのソースコードを編集してみたくなった。 調べたところafp(Apple Filing Protocol)でアクセスするのが簡単らしいことがわかりやってみた。 raspberry piでの設定raspberry piでは sudo apt-get install n

          macからraspberry piのファイルに直接アクセス(afp)