2017-01-01から1ヶ月間の記事一覧
何もしないで新しいカテゴリの値を代入するとエラーになる。 Series.cat.add_categoriesを使ってカテゴリを追加してから代入する。 参考: pandas.pydata.org
sshサーバのログには以下のメッセージが出ていた。 <event seq="52" time="2019-05-02 20:41:20.671086 +0900" app="BvSshServer 7.21" name="W_SESSION_DISCONNECTED_ABNORMALLY" desc="Session disconnected abnormally."> <session id="1006" service="SSH" remoteAddress="192.168.0.100:59781"/> <parameters disconnectReason="FlowError"/>…</parameters></session></event>
現象は以下。 TitanicのtrainデータのAgeの欠損値を22.0で埋める pd.qcut(train["Age"], 4, duplicates="drop").value_counts() を実行すると以下のようになり、要素数にかなり偏りができる (0.419, 22.0] 408 (24.0, 35.0] 220 (35.0, 80.0] 217 (22.0, 24.…
str(Path(__file__)) だと、JupyterNotebookで実行した時にエラーになるという問題がある。 os.path.abspath("__file__") であればJupyterNotebookでも実行可能。 参考: qiita.com
ディレクトリ階層が以下のようになっている場合。 grand_parent_dir > parent_dir > child_dir parent_dir/init.pyに書いている関数をimportして使いたいとする。 child_dirの下にJupyterNotebookがあるとする。 その場合、JupyterNotebookで以下のように書…
以前の記事でDataFrameの各列の型を指定してサイズを小さく出来ると書いたが、それを自動化する。 anton0825.hatenablog.com 以下を使ってcsvを読み込むとサイズを自動的に削減してくれる。一度全部読み込んでから型変換しているので、 処理途中で使うメモリ…
原因はカレントディレクトリが既に存在しなくなっていることだった。 ターミナルで開いているディレクトリをWinSCPで削除し、その後コマンドを実行すると発生した。 存在するディレクトリにcdしてからコマンドを実行すると直った。 参考: arika.org
CentOSの場合は以下の手順で直る。 /etc/ssh/sshd_config の UsePAM yes を UsePAM no に変更する これでなぜ直るのかは不明。。 UsePAMはPluggable Authentication Moduleを使えるようにするかの設定で、 Pluggable Authentication Moduleは元々何も設定し…
"test/data/img.jpg"のように指定すると、working directoryの位置に依存してしまう。 pythonファイルの実行方法は Flaskサーバから実行する 開発環境でtestを実行する CIサーバでtestを実行する のようにいくつかあり、それぞれworking directoryが異なるこ…
os.listdirを使う。 from os import listdir from os.path import isfile, join onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))] 参考: stackoverflow.com
今までGitHub画面左上の検索窓でWikiも検索出来るのに気付かず、Wikiは全文検索出来ないからダメだと思っていたが、できるじゃん。。 色々検索条件も設定出来るっぽい。 help.github.com 今までナレッジ共有に別のWikiサービスを使ってたけど、これでGitHub…
例えば、Tensor Flowのコードを含むクラスの場合、Tensor FlowがGlobalな状態を持つので 同じクラスのオブジェクトを複数回作り、そのたびにcheckpointを読み込むとエラーになる。 なので、その場合はconftest.pyに以下を書く。 @pytest.fixture def foo_ser…
conftest.pyでgc.set_debug(0)を実行する。
以下に記載されている方法が簡潔で、説明もわかりやすかった。 参考: gyabo.sakura.ne.jp
ndarray A,Bがある場合、 (A==B).all() のようにする 参考: stackoverflow.com
PyCharmのwatchウィンドウの各変数のところに表示される文字列はstr(obj)の結果なので、 何もしないとこんな感じになる。 <Point object at 0x7F156BAE92E8> これをもっと見やすくしたい・・という場合、以下のようにstrを定義する。 class Point(object): def __str__(self): return f"{self</point>…
eqをoverrideする。 class Foo: def __init__(self, item): self.item = item def __eq__(self, other): if isinstance(other, self.__class__): return self.__dict__ == other.__dict__ else: return False 参考: stackoverflow.com
以下のように、plotを実行した後毎回showを実行する。 for y_ax in ys: ts = Series(y_ax,index=x_ax) ts.plot(kind='bar', figsize=(15,5)) plt.show() 参考: stackoverflow.com
pandas.Series.extract を使う。例えば、Titanicで名前から敬称を抽出して別の列にするコードは以下。 train["Title"] = train["Name"].str.extract("([^\s]+)\.", expand=False).astype("category") 参考: note.nkmk.me
listを繋げて一つのlistを作る場合はextendを使う。 list1.extend(list2) 参考: www.javadrive.jp
JSONで保存したい場合は以下のようにEncoderを定義する必要がある。 class NumpyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, numpy.integer): return int(obj) elif isinstance(obj, numpy.floating): return float(obj) elif i…
以下のようにos.listdirを使うとできる。 for f in os.listdir(f"{ROOT_PATH}/test/data"): print(f) 参考: stackoverflow.com
以下を実行すると直る。 sudo yum install -y mesa-libGL.x86_64 参考: www.hakopako.net
原因は認証情報がAWS CLIに渡ってないこと。IAMロールには「AmazonEC2ContainerRegistryReadOnly」ポリシーが付いていればECRからImageをPullできる。 ただ、アクセスキーを使わない場合でも以下を実行する必要がある。 aws --region ap-northeast-1 ecr get…
PyCharmはWindows環境ではデフォルトで改行コードCRLFを使うが、 ファイルをサーバにアップロードして実行する場合、エラーが起きてしまう。 なので改行コードをLFにしたい。その方法は以下。Macで開発してればこんなことないのに。。 www.jetbrains.com
原因は上の階層のPythonファイルをImportできないため。多分セキュリティ上の理由でそういう仕様になっている。 しょうが無いのでJupyterNotebookファイルのサブフォルダに読み込むPythonファイルを配置した。 参考: stackoverflow.com
Issueに一度貼り付けて、生成されたURLをコピペする。詳細は以下参照。これなんでWikiでできないんだろ。。 akiyoko.hatenablog.jp
DataFrame.histを実行しただけだと、グラフちっさ!となるので以下のようにすると大きくなる。 fig = plt.figure(figsize = (15,20)) ax = fig.gca() train.hist(ax = ax) 参考: stackoverflow.com
接続先のサーバが増えてくると、.ssh/configがカオスになる。。 Includeキーワードを使うと、configファイルを分割できる。これだ!と思ったが、会社で使っているwindows10のWSLでは open-sshのバージョンが古く、Includeに対応してない。Ubuntuのバージョン…
IDEの設定ファイルはプロジェクト共通で使う設定をコミットし、個人的な設定が入ってもそれはコミットしない ということがしたくなる。コミット済のファイルを.gitignoreでignoreするよう設定してもignoreされない。。 各開発者が以下を実行すればローカルの…