Pythonと!

プログラミングド素人の勉強日記です。

UbuntuでSelenium(+chromedriver)を使う準備

seleniumのインストール pip install selenium chromeとchromedriverのインストール python-to.hateblo.jp 実装例 from selenium import webdriver # ブラウザの起動 options = webdriver.ChromeOptions() options.add_argument('--headless') # headlessモ…

BeautifulSoup4の基本

import requests from bs4 import BeautifulSoup # htmlの取得 res = requests.get('https://www.hoge.com/') # ローカルに保存 with open('res.html', 'w') as file: file.write(res.text) # htmlパース soup = BeautifulSoup(res.text, 'html.parser') # …

Python3エンジニア認定データ分析試験の受験記録

データ分析試験に900/1000で無事合格したので、受験記録を兼ねてブログに書いてみます。 受験前の知識 CourseraのMachine Learning講座を修了して、KaggleやSIGNATEのテーブルコンペにちょっと参加したことがある。 試験範囲の知識はだいたいある。 コンペで…

Google ColabolatoryとGoogle Driveでデータをやり取りする方法

Google ColabolatoryとGoogle Driveのデータ連携について、Pandasのread_csvとto_csvを例に書いてみます。 事前準備(Googleドライブのマウント) from google.colab import drive drive.mount('/content/drive') Google Drive上のファイルを読み込む場合 impo…

'RandomOverSampler' object has no attribute '_validate_data'

imbalanced-learnでfit_resampleしたところ、「'RandomOverSampler' object has no attribute '_validate_data'」のエラーが出てしまいました。 調べたところscikit-learnのバージョンが古いことが原因のようで、0.23.0以上に上げたところエラーが出なくなり…

Ubuntu18.04からLibreOfficeとThunderbirdをアンインストールする方法

自分用メモ $ sudo apt remove --purge libreoffice* $ sudo apt remove --purge thunderbird* $ sudo apt clean $ sudo apt autoremove

PandasのデータフレームでIDを組み合わせて一意のキーを作成する。

key1_key2の形になるcombine_key列を作成する方法。 key1とkey2はint型を想定しています。 df['combine_key'] = df.apply(lambda x: '{}_{}'.format(x['key1'], x['key2']), axis=1) 参考にしたサイト [python][DataFrame]数字を結合して文字列を作る - Qiita

ifとforを混ぜたリスト内包表記の書き方

例題 columns = ['I am Sam', 'She is Erica', 'He is Eric'] list = [] for c in columns: if 'Sam' in c: list.append(c) print(list) # ['I am Sam'] これを一行で書いてみると、以下のようになる。 list = [c for c in columns if 'Sam' in c]

Google Colaboratoryの90分セッション対策

Google Colaboratoryの90分セッション対策のメモです。1. ブラウザの拡張機能で自動更新系のアドオンを入れておく2. ノートブックのメニューから、ランタイム > ランタイムのタイプ変更 > 「このノートブックを保存する際にコードセルの出力を除外する」にチ…

range関数メモ

range関数あれこれ range(3) # 0, 1, 2 list(range(3)) # リストで出力したいとき # [0, 1, 2] range(2, 5) # 第1引数 ≦ i < 第2引数に注意 # 2, 3, 4 range(0, 5, 2) # 0, 2, 4 range(10, 0, -4) # 10, 6, 2

Pandas mergeのhowのメモ(inner, left, light, outer)

Pandasのmergeで指定するhowの種類別メモ pd.merge(df1, df2, on='key', how='how') how 説明 inner デフォルト設定。両方のDFに含まれるキーだけを残して結合 left 1つ目に渡したDFのキーを全て残して結合 right 2つ目に渡したDFのキーを全て残して結合 o…

Google ColaboratoryでGPU版LightGBMを使う方法

ランタイムの管理でGPUを設定してから、以下のコードを実行 !git clone --recursive https://github.com/Microsoft/LightGBM %cd /content/LightGBM/ !mkdir build !cmake -DUSE_GPU=1 #avoid .. !make -j$(nproc) !sudo apt-get -y install python-pip !sud…

Pandasでone-hotエンコーディング

Pandasでone-hotエンコーディングを実装してみる。 import pandas as pd # 学習データ(df_1)とテストデータ(df_2)の結合 combine = pd.concat([df_1, df_2]) # カテゴリ列を抽出 cat_cols = [] for col in combine.columns: if combine[col].dtype == 'o…

Anacondaの不要ファイルを消したいとき

これでキャッシュ、使っていないパッケージ等諸々削除できる $ conda clean --all

Github基本コマンドまとめ

Git Bashで作業します。 初回設定 # ユーザー情報の設定 $ git config --global user.name "ユーザー名" $ git config --global user.email "メールアドレス" # 確認方法 $ git config user.name $ git config user.email プッシュまで # 管理したいフォルダ…

matplotlibの文字化けを解消する方法

作業環境: Windows10, anaconda フォントのダウンロード ダウンロード(Download) | IPAexフォント/IPAフォント ipaexg.ttfを以下のフォルダにコピーする C:\Users\user_name\Anaconda3\envs\env_name\Lib\site-packages\matplotlib\mpl-data\fonts\ttf 設定…

多次元配列をpandasのDataFrameにする方法

他クラス分類の結果を提出形式にするための自分用メモ。y_pred: n行×m列のnumpy array # データフレームに変換 submission = pd.DataFrame(y_pred) # 一番左の列に列名'id'でtest_dfの'id'列を追加する。 submission.insert(0,'id' , test_df['id']) # submi…

AttributeError: module 'lightgbm' has no attribute 'Dataset'になった話

環境: Windows10, Anaconda, Jupyter python3.7.6 lightgbm 2.3.1 import lightgbm as lgb lgb_train = lgb.Dataset(X_train, y_train) lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train) としたところ、 「AttributeError: module 'lightgbm' h…

オブジェクト型を一気にラベルエンコーディングする方法

from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in df.columns: if df[col].dtype == 'object': df[col] = le.fit_transform(df[col])

XgboostとLightgbmのconda install(Win10前提)

Windows10のanacondaに入れる前提です。Py Xgboost :: Anaconda CloudLightgbm :: Anaconda Cloudlinux系の場合、こっちのXgboostの方がメジャーっぽい Xgboost :: Anaconda Cloud

courseraのMachine Learning講座修了しました!

プライベートが最繁忙期を迎えながらもcourseraのMachine Learning講座を何とか2ヶ月ちょっとで無事終了できました! 次はゼロから作るDeep Learningをやってみようと思います。

Ubuntu18.04でoctaveのplotを使う

遅まきながらCourseraのMachine Learningを始めました。 octaveでplotしようとしたところ、エラーが出たので、対処法をメモっておきます。 Gunplotのインストール sudo apt install gunplot プロットユーティリティをGunplotに変更 $ sudo vim ~/.octaverc …

jupyterショートカットキーメモ

Windows ・セルを実行して下のセルに移動 Shift + Enter ・セルの実行 Ctrl + Enter・コードセルにする Y ・マークダウンセルにする M・上にセルを追加する A ・下にセルを追加する B・上のセルを選択する K ・下のセルを選択する J・選択したセルをカット X…

jupyterでテーマを変えたいとき

インストール # condaでインストール $ conda install -c conda-forge jupyterthemes # pipでインストール $ pip install jupyterthemes テーマを適用する # 使用可能なテーマ一覧を表示 $ jt -l # テーマを適用する $ jt -t テーマ名 # デフォルトテーマに…

UbuntuでのVSCodeの環境保存場所

以下2箇所のフォルダを新しい環境にコピーすればOK。① ~/.vscode ⇛プラグインの場所② ~/.config/Code/User ⇛基本設定、キーコンフィグの場所

Node.jsでプロジェクトを作成する

$ npm init

Ubuntu18.04に最新のNode.jsをインストールする(アップデート方法も)

aptでNode.jsとnpmをインストール $ sudo apt install nodejs npm npmからnパッケージをインストール $ sudo npm install -g n # -gはグローバル(npmのインストール場所に)インストール nでNode.jsをインストール # 最新のLTS版を指定 $ sudo n lts # 最新版…

Ubuntuの環境変数設定

~/.bashrcに設定する $ sudo vim .bashrc PASSWORD変数にXYZ123を設定する場合 export PASSWORD=XYZ123 環境変数の確認方法 $ env

VACodeのEmmetを編集する

VSCodeでは、HTMLファイル上で「! → tab」と入力するとからHTMLの雛形を表示することができます。 ただ、初期設定ではlang+"en"となってしまうので、これを”ja”に変えたいと思います。 やり方 VSCodeのファイル→基本設定→設定から 拡張機能タブにあるEmmet内…

Djangoのrunserverで設定ファイルを指定する方法

Djangoの設定ファイルを本番用と開発用で分けているとき、runserverで開発用の設定ファイルを読み込ませる方法 $ python manage.py runserver --settings hoge.settings_dev ※hoge.settings_devの部分は「フォルダ名.設定ファイル名」