物理学者(ポスドク)による日々の研究生活のメモ書きです ( 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 追記)
これがめちゃくちゃ大変だった・・・・
とりあえず一言でまとめると、社会保険はまず最初に入っている保険をいつ辞めるかを明確にして、その申請を進める
やめた後で、やめたことを示す日付入りの証明書を持って、次に入る社会保険に行くらしい
それで手続きをする必要がある
ちなみに社会保険は隙間なく入るために、やめた日と入る日を同じにする必要がある
月末に辞めるなら、やめた日は月頭で、新しい社会保険に入る日も月頭
■ 子供の扶養関係の書類
・これは職場に申請書を出すだけで終わった
・子供の住民票の原本を提出する必要があった
手続き関連はそんなところ
ツイート
かなり嬉しいことです
体を痛めて生んでいただいた奥さんには感謝しかありません
これから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のデータ
ツイート
最初の引数が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】はじめての画像解析
x軸とy軸に何もticksを付けたくないときは、plt.xticks([]), plt.yticks([]) を追加する
ツイート
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')
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')
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より大きいものだけ取り除きたいときは、
ツイート
■ 参考 : 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成分も同時に弾けるfor i in range(len(arr)):
if arr[i] > x0:
index[i] = False
new_arr = arr[index]
■ 参考 : How do I disable warnings at initialization in Emacs?
.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のメモ
ツイート
■ 過去記事
■ 参考 :【雑記】千葉→富山への引っ越しメモ
■ 参考 【雑記】引っ越しをしたメモ + かかった諸費用メモ
■ 参考 :【雑記】一人暮らしに必要だった初期費用+雑費などまどめ
■ 参考 :【雑記】引っ越し後にやるべきこと
今回の引っ越しの距離は5kmくらい
平日の時間指定無し
運んだもの(1人暮らしに毛が生えたようなもの)
・冬用タイヤ
・ベッド1個
・ソファーベッド1個
・ちゃぶ台
・冷蔵庫
・2mくらいの本棚2個
・メタルラック1個
・棚1個
・IKEAの椅子
・座椅子2つ
・エアロバイク
・プラスチックの衣装ケース2つ
・ダンボール20個くらい
これで、27500円
安すぎる!!
いつもの如く見積もりを何箇所か取って、一番安いところにしたら
今回もなぜかア○ト引越しセンターでした
今回も素晴らしい働きっぷりでした
今度もまた頼もう。
引越し後にやったことメモ
・市役所へ行く
・転居届
・住民票を1部もらう(念の為)
・マイナンバーカードの住所変更
・警察署へ行く、免許の書き換え(住民票orマイナンバーカードが必要)
オンラインで住所変更したもの
・楽天証券
・クロネコヤマト
・楽天
・楽天カード(カードの裏の番号が必要)
・docomo(home5Gのアカウントと、アハモ回線の携帯)
・amazon
・ETCの会員情報
・ENEOSカード
電話で住所変更したもの
・車のディーラーで登録している住所
・車の保険の住所
・車検証の住所
・県民共済
・生命保険
実家の住所だったから変更しなくてよかったもの
・ローソンID
・Tポイント
・楽天銀行
以下twitterのメモ
すでに396アクセスもオーバーしてた・・・
アクセス解析を見る感じでは7/21(木)に達成したっぽい
webブラウザ上にあるオプションを使って、pdfに書き出そうとしてもxelatexみたいなのがないよ、と怒られる
ずっと諦めてたけど、実はコマンドラインからはpdfに出力できるっぽい
jupyterからlatexが見えていないだけ?(もしくは自分がインストールしたtex liveを使ってるのか?)
jupyter nbconvert --to pdf filename.ipynb
【Mac, jupyter-lab】が起動しない、:89: execution error: ファイル“不特定のオブジェクト”が見つかりませんでした。 (-43)
2022.06.21 Tue 15:45 | Mac
2022.06.21 Tue 15:45 | Mac
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.
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といかいうのを使う必要がある
コード
以下、メモ
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で作成されるので、新しい変数になる
ツイート
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)
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,,}
foo="BBB"
# aaaと表示される
echo $hoge
# AAAと表示される
echo ${hoge^^}
# BBBと表示される
echo $foo
# BBBと表示される
echo ${foo,,}
(知らなかったーーーーー まぁ使う機会がなかったから知らなかったんすけど・・・)
今までやってたのはかなり力技だった
データがxとyというリストに入ってる
labelsがそれぞれのサンプル点の横に打ちたいラベル
ただ、サンプル点が近すぎると、ラベルが重なってそれを調整する必要があった
■ 参考 :複数のplt.textで重なる文字をなんとかできる。
adjustText というパッケージを使えば楽に調整をしてくれるらしい
デフォルトでは入っていないので、condaでインストールする
矢印をつけるオプションも使ってみたけど、今回はサンプル点とラベルの距離が近すぎて、矢印いらなかった
ツイート
データが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)
こんな感じ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)
みたいな感じでOKadjust_text(texts)
矢印をつけるオプションも使ってみたけど、今回はサンプル点とラベルの距離が近すぎて、矢印いらなかった
【MacOS 12.4】tmuxを立ち上げたらRequested but did not find extension point with identifier Xcode.... というエラーが出る
2022.05.26 Thu 14:45 | Mac
2022.05.26 Thu 14:45 | Mac
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
arm64
x86_64になってると、
% uname -m
x86_64
x86_64
切り替えるには、
arch -x86_64 zsh
arch -xarm64 zsh
arch -xarm64 zsh
手元のローカルからリモート同士を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では)
ツイート
とりあえずMacなのでNumberでちょいちょいデータを見る
平均値と標準偏差は、そのセルをマウスで範囲選択すれば、一番下のstatus berっぽいところに表示される
標準偏差はてっきりstdevだと思ってたけど違った
stdevは不偏分散で、stdevpが標準偏差だ・・・・
— coffee (@coffee_pote) April 7, 2022
(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月で更新が止まってるのでセキュリティ的に問題があったりとかは怖い・・・(が、わからないのでまぁいいでしょう)
環境設定を開いて、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()
こんな感じで良いらしい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
職業:物理屋
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
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報の 英語論文から,例文を検索するための検索エンジン)
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報の 英語論文から,例文を検索するための検索エンジン)
最新記事
(11/20)
(03/05)
(02/29)
(02/21)
(02/21)
(02/21)
(02/21)
(01/13)
(01/05)
(01/05)