2020-01-01から1年間の記事一覧

AtCoder青になりました

AtCoderで青になりました、というAtCoder色変記事である。 手短に自己紹介 レート推移、各種進捗のグラフ レート推移 AtCoder Problemsの各種進捗状況 解いた問題数×レートのグラフ アルゴリズムのスクールに通ってたので 時系列的なもの。 ライブラリ一覧 p…

effective python 第2版の翻訳改善点 8〜10章

オライリー・ジャパンから発売された「Effective Python 第2版 Pythonプログラムを改良する90項目」の日本語訳の改善提案である。気になった箇所について、原文と照らし合わせて問題点を述べ、日本語訳を自分で書き直している。 注意事項 8章 p.289 項目65 p…

実例から学ぶ Python競技プログラミングの定数倍高速化シリーズ1:徒競走

競技プログラミングのAtCoderの問題をPythonを使って解き、定数倍高速化した結果をまとめる。 定数倍高速化とは何か 注意事項 解法 処理時間まとめ 最初 高速化(1) 早期break 高速化(2) 計算量の削減 /(1)を上書き 高速化(3) 入力 input = sys.stdin.readli…

pandasでDataFrameのセルにlistを代入する

pandasのDataFrameのセル(1つのマス)にpythonのリスト(配列)を代入しようとして、苦労したのでやり方をまとめておく。 (pandasの公式ドキュメントではセルをcellとは呼ばず、valueもしくはscalar valueと呼んでいるようだ。) 注意 準備 失敗例 loc, il…

pandasでValueError: len(left_on) must equal the number of levels in the index of "right"

pandasを使ってDataFrameを結合しようとしたら、ValueError: len(left_on) must equal the number of levels in the index of "right" という見慣れないエラーが出てきた。 mergeを使うべきところでjoinを使ったのが原因だった。 以下のStackOverflowを見た…

「今回は、ファイルをダウンロードできませんでした」iPad ProでPDFのダウンロード失敗

iPad Proで「今回は、ファイルをダウンロードできませんでした」とメッセージが出て、ダウンロードに失敗するという現象が起きて困った。 検索しても同じ症状になったという人が出てこない。 誰かの役に立つかもしれないので、一応メモしておく。 環境 iPad …

effective python 第2版の翻訳改善点 1〜3章

オライリー・ジャパンから発売された「Effective Python 第2版 Pythonプログラムを改良する90項目」の日本語訳の改善提案である。気になった箇所について、原文と照らし合わせて問題点を述べ、日本語訳を自分で書き直している。 注意事項 無償の翻訳と出版さ…

pandasのDataFrameをfloatからintに変換する方法

「pandas float int 変換」で検索する人が結構いるので、まとめておきます。 準備 1列だけをfloatからintに変換する 複数列をfloatからintに変換する すべての列をfloatからintに変換する 文字列とかがある場合は? NaNを含む場合は? int型で欠損値をNaNのま…

松岡亮二「教育格差」読書感想文

松岡亮二「教育格差」(ちくま新書)を読んだので、感想文を書く。 何についての本かというと、「出身家庭と地域という本人にはどうしようもない初期条件によって子供の最終学歴は異なり、それは 収入・職業・健康など様々な格差の基盤となる(表紙裏の概要…

新型コロナウイルスの感染拡大下の2020年4〜6月の生活の感想

新型コロナウイルスの感染拡大下の2020年4〜6月の生活の感想 新型コロナウイルスが流行しだしてからの生活や感想をメモ。 こんな経験は二度と無いと思うので。というか二度と起きないでくれよ。 注意 あんまり人に見せることを意識した文章になってないです…

pandasで ValueError: cannot reindex from a duplicate axisのエラー

ValueError: cannot reindex from a duplicate axis というエラーが、pandasにある。 エラーについて色々調べた結果、分からなかったこともあるけど、だいたい以下のとおりだろうか。 行もしくは列の名前に重複がある場合に、特定の操作で発生するようだ? 「…

NumPyのarrayとndarrayの違いを調べた

numpy.arrayとnumpy.ndarray、どちらもたまに見かけるのだが、あまり区別がついていなかった。arrayとndarrayの違いを調べてまとめた。 「numpy array ndarray difference」で検索すると出てくるStack Overflowの質問の内容を主に、検証結果をまとめる。 num…

pandasのDataFrameに空の列を追加する

pandasのDataFrameに、空の列を新しく追加(挿入)したい場合。 空の列の位置は気にしない場合(右端になる) どの値を入れれば良いの? 空の列を指定した位置に挿入したい場合 注意事項 参考 空の列の位置は気にしない場合(右端になる) 既存のDataFrameに1…

jupyter notebookのサンプルコードをブログに貼り付ける方法を調べた

このブログを書くときには、jupyter notebookでサンプルのコードを書いて、pythonや各種ライブラリの動作を検証している。 そこでいつも頭を悩ませるのが、「jupyter notebookの上のサンプルコードを、どうやってはてなブログに貼り付けるか?」である。 毎回…

pythonの機械学習・データ分析系の各ライブラリの人気度を調べてみる

2万4000超の開発者に聞いた、Pythonでよく使うフレームワークは? | マイナビニュース https://www.jetbrains.com/lp/python-developers-survey-2019/ を読んで調べたこと。 Python Developers Survey 2019 Results Stack Overflow trend検索 Stack Overflow…

金成隆一「ルポ トランプ王国」読書感想文 アメリカン・ドリームの終焉

金成隆一「ルポ トランプ王国」(岩波新書)を読んだので、感想文を書く。 何についての本かというと、2016年のアメリカ大統領選挙でクリントンとトランプが戦ったときのルポルタージュだ。トランプを支持する市民に多く話を聞き、アメリカの現状を巧みに捉…

pandas 特定列の値をユニークな数値IDに変換する3つの方法

pandasのDataFrameやSeriesがあったときに、ある列の値に基づいて数値に変換して、ユニークな整数IDを振りたい時がある。文字列の型のカテゴリを番号に変換したいという状況だ。 1行ずつ見ていけばできることはできるのだが、もっと簡単に速くできる方法は無…

競プロと音ゲーと私

競技プログラミングから身を引くことにしました | Kichi's BLOG を読んでの感想と自分語りです。原型の文章は読んだその日に書いてたけど、その後寝かせてしまった。 特定言語だとうまく正解できないやつ わかる。 俺が使っているのはPythonであり、競技プロ…

永江朗「私は本屋が好きでした」読書感想文

永江朗「私は本屋が好きでした──あふれるヘイト本、つくって売るまでの舞台裏」を読んだので、感想文を書く。 どういう本か? 何についての本かというと、「ヘイト本」──韓国や中国をけなす本について。そのような本が書店に並ぶまでのいきさつについて、色々…

iftttで連携失敗、"There was an error during check process"が出た

iftttでEvernoteが関係したルールを使っていたら、いきなり動かなくなったので解決した話。 俺は長いこと、iftttのうち1つのルールだけを使っている。 todoist(Todo管理ツール)でタスクを終わらせたら、Evernoteにその内容を記録する、というものだ。 3月…

pythonのmath.acos()関数でValueError: math domain error

pythonのmath.acos()関数でValueError: math domain errorが出た話。 浮動小数点演算で誤差が乗って、定義域の範囲外の数を引数に入れていた。 2次元座標の上の3つの点から、なす角を求めようとした。 より正確に言えば、2つのベクトルのなす角θを求めようと…

pandasで空のDataFrameにapply()してエラーになった

pandasで、 ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series というエラーが出ることがある。 結論をいうと、これは空のDataFrameに対してapply()をしたときに発生するエラーである。 そうなら「エ…

python競技プログラミングで、二項係数の計算でTLEしたので高速化した話

競技プログラミング(AtCoderなど)によくある、二項係数(コンビネーション)を109+7で割った余りを求める話です。 前提条件 Pythonで実装するときに、気をつけるべきポイントを書いておきます。 C++やJavaを使ってる人は、この記事を読む意味はありません…

ヒキタクニオ「ヒキタさん! ご懐妊ですよ」読書メモ

ヒキタクニオ「ヒキタさん! ご懐妊ですよ」を読んだのでメモ。 何についての本かというと、不妊治療に奮闘した男性の目線から書かれたエッセイである。最初に治療を始めてから、最終的に子供が生まれるまでに、実に5年くらいかかっている。 何で読んだの 俺…

空気清浄機 Trusens Z-1000を買った

空気清浄機 Trusens Z-1000を買ったよ 買うきっかけ:MacBook Proを買ったので 何を言ってるかわからないと思うが、MacBook Proを買ったので、空気清浄機を買うことにした。 ……順を追って説明すると、俺の部屋というのはだいぶホコリが多い。 例えば、Ninten…

pandasでDataFrameの最初(一番左)に列を追加・挿入する方法

pandasでDataFrameの最初(一番左)に列を追加・挿入する方法。 環境:pandasのversionは0.25.3です。 列名を指定して追加する方法だと末尾(最後、右端)に追加される 既存のDataFrameに1つの列を新規に追加する最も一般的な方法は、df['new_column'] = (追…

pandasのinfer_objects()は文字列を数値に変換しない

pandasのinfer_objects()は、数字の入った文字列('123')を数値(123)に変換しない、という話。 StackOverflowのURL: https://stackoverflow.com/questions/35003138/python-pandas-inferring-column-datatypes/48269724 のコメント infer_objects()は、D…

コートールド美術館展 魅惑の印象派

上野の東京都美術館で開催されていた「 コートールド美術館展 魅惑の印象派」に行ってきた(2019年12月の話)。 東京での開催は12月15日まで。2020年1月から愛知、3月から神戸で開催予定である。 コートールド美術館展 魅惑の印象派 美術研究所による解説図 …

森絵都 「風に舞いあがるビニールシート」読書メモ

森絵都 「風に舞いあがるビニールシート」を読んだ。読書メモ。 どういう本か? 文庫本50ページ程度×6編の短編小説集。 裏表紙の概要によれば、「大切な何かのために懸命に生きる人々を描いた」作品らしいよ。 何で読んだの 図書館が不要になった本を「ご自由…

濱口桂一郎 「日本の雇用と労働」読書メモ

濱口桂一郎「日本の雇用と労働法」を読んだ。読書メモ。 何の本か? 「現実の労働社会」と「労働法制」の2つを合わせて説明している本 本書がどういう本か、というのは、まえがきでしっかり説明してある。 本書はいささか欲張りな本です。「日本の労働システ…