忍者ブログ
物理学者(ポスドク)による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)
9/25(日)に男の子が生まれました(`・ω・´)ゞ

かなり嬉しいことです

体を痛めて生んでいただいた奥さんには感謝しかありません

これから1年くらいの奥さんの扱い方(奥さんとの会話や行動)は、今後一生を左右しかねないものなので、「妻のトリセツ」という本で予習しておきましたので多分大丈夫・・・?
・とりあえず、ひたすら感謝を示す
・できることは協力する
・「辛い」と言われたら同意して協調する

過去の嫌な思い出を「生後半年のときに・・・」とフラッシュバックして、それを一生言い続けるらしいのでマジでこのあたり慎重に動く必要がある

まだ子供にはお目にかかっていなくて、金曜日に退院するらしいので
そのタイミングで1週間くらい有給を取って大阪に帰る予定






■ 子供の名前

子供の名前が一番の課題だった
どちらか1人で決めると、もう1人がグタグタ文句を言うので二人で1文字ずつ選んで、いい感じに組み合わせて決めることに

それを5月の時点で行って、名前は決まっていたが9月の中旬になって奥さんが「やはりあの名前は変えよう」とどんでん返し

まぁ、古臭いからなぁ・・・
けど、間違いなく日本人的な名前だったが・・・

「出産してから名前を決めればいい」と奥さんは言ってたけど、産んで体が大変な時期に決めるのは相当な負担だろう・・・
それに「私が産んだから私が決めます」ってゴリ押しされた場合、こっちとしては強く出れないので
絶対に、出産前に確定されておきたかった


なにわともあれ、新しい名前を考え直すことに
出産2日前になっても決まらず、3時間くらい電話で相談して、やっとこさいい感じの名前が決まった
かつやの駐車場で電話してたが、気づいたらかつやが閉店してて、かつやのお持ち帰りができなかった・・・orz


■ 出産日当日
9/25(日)の2時くらいからお腹が痛いとラインが来るが寝てて気づかず
4時くらいに病院へ行く
陣痛が始まったのは昼くらい
病院は面会謝絶で、夫も家族も見に行けないし、出産立ち会いもできず

15時くらいの時点で、全く連絡が無いので不安で病院に連絡したりした

17時くらいに、奥さんの母から電話
病院から連絡があって、子宮口は開いたが、陣痛がどんどん弱くなっていってるので促進剤(?)を使うとのこと

こっちは何もできることがないので、死んだらどうしよう・・・とか考えててかなり不安だった・・・
やることもないので、夕方で真っ暗な神社に神頼みしに行ったりした

19時半くらいに奥さんから生まれたと連絡
可愛らしい写真が送られてきた






■ 子供が生まれてからの書類申請

(自治体とかによって違う可能性はあります。ただのメモです。当てにしないでください)

富山市の場合

・出生届
出産日を含めて14日以内に提出
戸籍がある市役所か、出生地、または住んでいる市の市役所に提出
(たぶん他の申請もしないといけないので住んでるところが楽)

出生届と医師の署名が入った出生証明書が必要
これは病院でもらえるので、それに追記する

母子手帳とはんこが必要


・乳児一般健康診査受診票
母子手帳が必要
(と聞いていたが、母子手帳は要らなかった)

・こども医療費助成
住んでいる市役所で申請する
母子手帳が必要
出生日から15日以内
(と聞いていたが、母子手帳は要らなかった)

・児童手当認定請求
住んでいる市役所で申請する
母子手帳が必要
出生日の翌日から15日以内


・出産一時金関連の書類
これは自分が健康保険なら、住んでる市町村から
社会保険なら、そこからもらえる

支払いの方法は何種類かある
病院に向けて支払われる方法が一番楽だと思うけど、自分の場合タイミング的に無理かも・・・なので別の方法にする予定

うちの場合、9月の中旬に奥さんが自分の扶養に入ることになっていた
子供が生まれた今もまだ扶養認定されていないので、色々とまだ確定していない・・・

(2022/10/25 追記)
これがめちゃくちゃ大変だった・・・・
とりあえず一言でまとめると、社会保険はまず最初に入っている保険をいつ辞めるかを明確にして、その申請を進める
やめた後で、やめたことを示す日付入りの証明書を持って、次に入る社会保険に行くらしい
それで手続きをする必要がある
ちなみに社会保険は隙間なく入るために、やめた日と入る日を同じにする必要がある
月末に辞めるなら、やめた日は月頭で、新しい社会保険に入る日も月頭





■ 子供の扶養関係の書類

・これは職場に申請書を出すだけで終わった
・子供の住民票の原本を提出する必要があった



手続き関連はそんなところ




PR
img_origという画像があったとして、そこから一部だけを切り取りたいときは以下のような感じで

最初の引数がy関連、その後がx関連
絶対、次また逆でやってしまうのでメモっておく

xmin = 160
xmax = 210
ymin = 695
ymax = 745

img = img_orig[ymin:ymax, xmin:xmax]







img[0, :]とimg[:, 0]がどっちがどっちかわからなくなることが多々あるが、

img[0, :]はy=0のデータ

img[:, 0]はx=0のデータ







(こんなん簡単だろ、と思ってましたが1~2時間はやってやっとできました・・・ なんで・・・)

opencvで画像を読み込むあたりは↓を参照

■ 参考 : 【python3, opencv】はじめての画像解析


fig = plt.figure(figsize = [12, 10])
fig.patch.set_facecolor('white')
ax = fig.add_subplot(111)
im = ax.imshow(img, interpolation='none', cmap = 'gray')
fig.colorbar(im)
fig.savefig('hoge.png')



x軸とy軸に何もticksを付けたくないときは、plt.xticks([]), plt.yticks([]) を追加する
fig = plt.figure(figsize = [12, 10])
fig.patch.set_facecolor('white')
ax = fig.add_subplot(111)
im = ax.imshow(img, interpolation='none', cmap = 'gray')
fig.colorbar(im)
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
fig.savefig('hoge.png')













-1 (ハイフン いち)をつける
ls -1


ファイルの作成順にファイル名のみを並べたいときは
ls -1t







pngのファイル名が_で区切られていたとき、それの6番目のフィールドの数字でソートしたいとすると・・・・
ls ./*png | sort -t_ -k6

6番目がなにかはawk -F_ '{print $6}'とかしたら確認できる









実際使うことはなかったけど、今後必要な気もするのでメモ

2つのarrayがある、例えばxとyとする

xはデータのindex相当のもので、順番がぐちゃぐちゃになってる
yはデータの値
xをソートするときに、yの順番も同時に同じようにソートしてほしい

■ 参考 : argsort: ソートに使うインダイスを取得

■ 参考 : [Python]Numpyデータの並べ替え


argsortを使えばOK
index = np.argsort(x)

これで、xをソートしたときのindexを取得できる
x_new = x[index]
としたら、単純にxをソートしたことになる

indexを使って
y_new = y[index]
としたら、「xをソートするときに、yの順番も同時に同じようにソートしてほしい」が実現できる











■ 参考 : Numpyで特定のindex以外を抽出する方法

■ 参考 : Numpy で特定のインデックス以外の要素を取り出す

arrというndarrayに条件を掛けて、条件を満たす成分をarrから抜いて、別のarrayを作成する
例えば、arrの中身がx0より大きいものだけ取り除きたいときは、
index = np.ones(len(arr), dtype=bool)
for i in range(len(arr)):
 if arr[i] > x0:
  index[i] = False
new_arr = arr[index]
他にもindex[i] = Falseをindex[i-5:i+5] = Falseとかすれば、x0より大きいインデックスの前後5成分も同時に弾ける










■ 参考 : How do I disable warnings at initialization in Emacs?

.emacsに以下を追記することで抑制する
(setq warning-minimum-level :emergency)








2021年2月に富山に引っ越してきて、その後結婚して子供も生まれそうなのでもう少し生活しやすいところに引っ越しました

■ 過去記事
■ 参考 :【雑記】千葉→富山への引っ越しメモ

■ 参考 【雑記】引っ越しをしたメモ + かかった諸費用メモ

■ 参考 :【雑記】一人暮らしに必要だった初期費用+雑費などまどめ

■ 参考 :【雑記】引っ越し後にやるべきこと





今回の引っ越しの距離は5kmくらい
平日の時間指定無し
運んだもの(1人暮らしに毛が生えたようなもの)
・冬用タイヤ
・ベッド1個
・ソファーベッド1個
・ちゃぶ台
・冷蔵庫
・2mくらいの本棚2個
・メタルラック1個
・棚1個
・IKEAの椅子
・座椅子2つ
・エアロバイク
・プラスチックの衣装ケース2つ
・ダンボール20個くらい

これで、27500円

安すぎる!!

いつもの如く見積もりを何箇所か取って、一番安いところにしたら
今回もなぜかア○ト引越しセンターでした

今回も素晴らしい働きっぷりでした
今度もまた頼もう。





引越し後にやったことメモ
・市役所へ行く
・転居届
・住民票を1部もらう(念の為)
・マイナンバーカードの住所変更
・警察署へ行く、免許の書き換え(住民票orマイナンバーカードが必要)

オンラインで住所変更したもの
・楽天証券
・クロネコヤマト
・楽天
・楽天カード(カードの裏の番号が必要)
・docomo(home5Gのアカウントと、アハモ回線の携帯)
・amazon
・ETCの会員情報
・ENEOSカード

電話で住所変更したもの
・車のディーラーで登録している住所
・車の保険の住所
・車検証の住所
・県民共済
・生命保険

実家の住所だったから変更しなくてよかったもの
・ローソンID
・Tポイント
・楽天銀行




以下twitterのメモ


https://coffeepote.tumblr.com/post/690539831630200832


すでに396アクセスもオーバーしてた・・・

アクセス解析を見る感じでは7/21(木)に達成したっぽい










Seleniumを使えばいいらしい

■ 参考 : 面倒なブラウザ操作をSeleniumを使って自動化する

いつか使えそう











webブラウザ上にあるオプションを使って、pdfに書き出そうとしてもxelatexみたいなのがないよ、と怒られる

ずっと諦めてたけど、実はコマンドラインからはpdfに出力できるっぽい
jupyterからlatexが見えていないだけ?(もしくは自分がインストールしたtex liveを使ってるのか?)
jupyter nbconvert --to pdf filename.ipynb








0:89: execution error: ファイル“不特定のオブジェクト”が見つかりませんでした。 (-43)

というエラーメッセージが出て、jupyter-labが起動しない。

Macのopenコマンドが使えないことが原因っぽいので、Finderを再起動する

% killall Finder

またはoption+command+escから再起動してもOK











ls -l --time-style=+'%Y/%m/%d %H:%M:%S' ./









git pullしたら以下のワーニングっぽいものが出た

hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.

詳しくはここ

■ 参考 : Git 2.27 での git pull 時の warning について


以下のコマンドを走らせておいた
git config --global pull.rebase false







pythonのpandasでcsvを開いて、条件を満たす行に加工をする + ある行をファイル末尾にコピーして追記したい

pandasというのを使うのは初めてだった
・勝手にindexという列ができていたり、そのindexは加工不可だったりで色々と大変だった・・・
・astropyの単位みたいに、printしたら勝手にヘッダーにあるkeyも表示されてたりしてその対処が必要
・ある列、ある行の要素を取り出すのに、リストみたいに通し番号で指定できるのかと思ったらそれはできなかった・・・ ilocといかいうのを使う必要がある


コード
import pandas as pd

df = pd.read_csv('hoge.csv')

fname="hoge.png"

# このcsvの中で、filenameという要素で"hoge.png"を含んでいる行を抽出する
print(df[df["filename"] == fname])

# もしその行の通し番号が欲しかったら
list(df[df["filename"] == fname].index)
# これで
# [13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 134, 180]
# が手に入る

#
# filenameという要素がhoge.pngを含んでいる行のdateを更新する
# 頭にシャープをいれてコメントアウト(csvのコメントアウトの文字はないと思うけど、読み込めなくできればOKなので・・・)
#
ll = df[df["filename"] == fname]
line_to_add = ll.iloc[0].values
for i in list(ll.index):
 df.loc[df.index==i, ["date"]] = "#" + df.loc[df.index==i, ["date"]]

# ファイルの末尾に、ある行をコピーして追記する
n = len(df["aaa"])
df.loc[n] = line_to_add

# 追加した行の他の要素を修正する
df.loc[n, ["x"]] = 1111
df.loc[n, ["y"]] = 2222

# 修正後のdfをcsvとして保存する
df.to_csv('hoge.csv', index=False)




以下、メモ

pd.read_csvはファイルを開いて、読み込んで、さらに閉じてくれるのでその後の処理が楽

■ 参考 : pythonでのcsvファイルの読み込み

最初はpandasのreplaceでなんとかすればいいと思ったが、うまくいかなかった

■ 参考 : pandas.DataFrame, Seriesの要素の値を置換するreplace



pandasで読み込んだcsvのindexをいじりたいとき用↓
df1 = df.set_index("filename")
とか

■ 参考 : pandasでcsvの読み込みをしてIndexをいじってみる


■ 参考 : pandas.DataFrameの列をインデックス(行名)に割り当てるset_index



いつか使うかも
これは便利そう
indexにdatatime型を指定すると、ある日付の範囲のデータのみを取り出す、とかがかんたんにできる
■ 参考 : pandasのindexはdatetimeにすると便利



ファイル末尾に追加する方法について
最初はappendでやろうとしたが、うまくいかなかった

一応メモ↓
■ 参考 : pandas.DataFrameに列や行を追加(assign, appendなど)

今回は
n = len(df["gain"])
df.loc[n] = df[df.index==13].values[0]
みたいにして追加した

任意の位置の値を取得するには at, iat, loc, ilocを使う
今回はilocしか使ってないけど・・・

■ 参考 : pandasで任意の位置の値を取得・変更するat, iat, loc, iloc



ilocとかを使わずにdfをfor文に打ち込むと、warningが出る
chained indexingというらしい

■ 参考 : pandas の SettingWithCopyWarning で苦労した話

■ 参考 : pandasのSettingWithCopyWarningの対処法






修正したdfをcsvでもう一度書き出す方法
index=Falseを付けないと、indexという列が新しく追加されるので注意
あと、headerがいるかどうかも選べる

■ 参考 : Pandasのto_csv関数を使ってCSVファイルに書き出す方法





(2022/12/19 追記)

data frameの仕様でハマったのでメモ

data frameの内容をコピーするのに = を使うと参照渡し(C言語のアドレス)みたいなことになって、単純な値をコピーすることにはならない
コピー元が修正されたら、=の左辺も置き換わってしまう(ここにハマった・・・)

(これは別にdata frameに限った話じゃなくてpythonもこういう仕様らしい、が今の所これで変なことが起こったことはないんだよなぁ・・ 謎)

単純な値のコピーをしたいなら、
hoge = df.copy(deep=True)

deepcopyというのは新しいidで作成されるので、新しい変数になる






hoge="aaa"
foo="BBB"

# aaaと表示される
echo $hoge

# AAAと表示される
echo ${hoge^^}

# BBBと表示される
echo $foo

# BBBと表示される
echo ${foo,,}


(知らなかったーーーーー まぁ使う機会がなかったから知らなかったんすけど・・・)











今までやってたのはかなり力技だった

データがxとyというリストに入ってる
labelsがそれぞれのサンプル点の横に打ちたいラベル
import matplotlib.pyplot as plt
for i, text in enumerate(labels):
 plt.text(x[i]+4, y[i] +0.2, text, fontsize=25)
こんな感じ
ただ、サンプル点が近すぎると、ラベルが重なってそれを調整する必要があった







■ 参考 :複数のplt.textで重なる文字をなんとかできる。

adjustText というパッケージを使えば楽に調整をしてくれるらしい
デフォルトでは入っていないので、condaでインストールする
conda install adjustText
使い方は記事に書いてある通り
texts = [plt.text(x[i], y[i], '%s' %labels[i], ha='center', va='center', fontsize=18) for i in range(len(labels))]
adjust_text(texts)
みたいな感じでOK

矢印をつけるオプションも使ってみたけど、今回はサンプル点とラベルの距離が近すぎて、矢印いらなかった








sudo xcode-select -r
としたら、でなくなった。









■ 参考 : Rosettaも使う人のM1 Macの環境整備Step1

自分のもM1 Macだけど、time machineから古いMacの設定をすべて引き継いだ
なので、何もしなくてもx86_64の方になっていた・・・


arm64 → x86_64 に切り替えたい場合は、teminalとかiTerm2のアプリを右クリックして情報を開く
「Rosettaを使用して開く」をチェックすればOK


arm64だと、
% uname -m
arm64

x86_64になってると、
% uname -m
x86_64


切り替えるには、
arch -x86_64 zsh

arch -xarm64 zsh




https://coffeepote.tumblr.com/post/683731777248018432

たぶん昨日か一昨日くらいに到達してたっぽい


■ 過去記事 : 【祝】210000アクセスありがとうございます










手元のローカルからリモート同士をscpしたいときは、-3オプションを付ければいい
scp -3 -r username@hoge:/home/username/aaa username@foo:/home/username/

■ 参考 : scpでリモートサーバーからリモートサーバーにファイル転送






最近csvをちょいちょい触ることがある
とりあえずMacなのでNumberでちょいちょいデータを見る

平均値と標準偏差は、そのセルをマウスで範囲選択すれば、一番下のstatus berっぽいところに表示される
標準偏差はてっきりstdevだと思ってたけど違った




(2022/04/08 追記)

疲れてた色々とごっちゃになってる
上に書いてるのは逆です




stdevpの結果は標準偏差
n個のサンプルの平均値と各サンプルの差の二乗和をnで割って、ルートを取る

stdevの結果は不偏標準偏差
n個のサンプルの平均値と各サンプルの差の二乗和を(n-1)で割って、ルートを取る

1, 2, 3のn=3サンプルで計算すると
stdevp=sqrt(2/3)=0.816...
stdev=sqrt(2/2)=1

になった(Numbersでは)







元BOSSが使ってるのをちらっと見て、便利だなぁ〜と思ったので情報収集してみた

■ 参考 : Version History (Testing Channel) @MacDown

Mac Downのページでv0.7.3をインストールすれば、Mermaidはそのまま使えるた
ただ、2020年1月で更新が止まってるのでセキュリティ的に問題があったりとかは怖い・・・(が、わからないのでまぁいいでしょう)

https://coffeepote.tumblr.com/post/680859960302780416

環境設定を開いて、Mermaidと書いてあるところにチェックを入れれば描画されるはず





mermaidの表記ルールは以下を参照

■ 参考 : mermaid.jsのフローチャートの書き方

■ 参考 : Diagrams as Code: Mermaid







from csv import writer

csvname="hoge.csv"
csvline=[a, b, c]

# only for the first time
if not os.path.exists(csvname):
 csvline_header=["a_value", "b_value", "c_value"]
 with open(csvname, 'a', newline='') as f:
  writer_object = writer(f, lineterminator='\n')
  writer_object.writerow(csvline_header)
  f.close()

with open(csvname, 'a', newline='') as f:
 writer_object = writer(f, lineterminator='\n')
 writer_object.writerow(csvline)
 f.close()
こんな感じで良いらしい
1回目はヘッダーを書き出すために、1度だけ実行する
2度目以降はファイルがあるので実行しない

a, b, cとかに書き出したい値を入れればOK







(2023/01/06 追記)

f.close()はwithで開いているので不要だと思う





(2023/08/28 追記)

書き出したcsvファイルの行末に、 ^M$ みたいなものがつくときがある
これは、CRLFというのが改行コードになっているから

■ 参考 : Pythonのcsvモジュールで出力されるファイルの改行コードをLFにする

↑のコードを一部修正して、lineterminator='\n'を追加した
writer_object = writer(f, lineterminator='\n')







プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
import MyProfile
import coffee_pote from TWITTER
import amazonのほしい物リスト from WISH_LIST

print "先月子供が産まれました!"

# 最終更新 2022/10/25
カウンター
カウンター カウンター
ブログ内検索
ツイートするボタン
リンク
相互リンク募集中です (Twitterにてお知らせください)

Demo scripts for gnuplot version 5
(gnuplotのさまざまなデモ画像と作り方がまとめられている、眺めているだけでできるようになった気分になれる)

gnuplotスクリプトの解説
(米澤進吾さんの個人ページ、gnuplotと言えばこのかた)

gnuplot のページ
(Takeno Lab、うちのブログがリンクされていたのでリンク返し)

Twitterから映画の評価が分かる & 映画の鑑賞記録が残せる coco
(映画の感想をまとめられるサイト、いつもお世話になっています)

Astronomy Picture of the Day Archive
(天文や宇宙関連の最新の話題について画像とともにNASAが説明しているページ)

今日のほしぞら
(任意の時刻の空で見える星を表示してくれる、国立天文台が管理している)

GNUPLOTとアニメーション
(応用の項目の「見せてあげよう!ラピュタの雷を!!」あたりからすごすぎる)

読書メーター
(読んだ本をリストできる便利なサイト)

flickr難民の写真置き場
(20XX年、flickrは有料化の炎に包まれた。あらゆるflickr無料ユーザーは絶滅したかに見えた。 しかし、tumblr移住民は死に絶えてはいなかった。)

教授でもできるMac OS X へのLaTeX, X11, gccのインストレーションと環境設定
(阪大の山中卓さんのwebページ、タイトルにセンスが溢れている、内容は超充実してる、特にTeX関連、学振DCとかPDの申請書類作成時にはお世話になっております)

英語論文執筆用の例文検索サービス
(とんでもないものを見つけてしまった・・・・ arXivに収録されている 811,761報の 英語論文から,例文を検索するための検索エンジン)


Template "simple02" by Emile*Emilie
忍者ブログ [PR]