Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
IT業界では誰もがTerminalの基本を知るべきであり、データサイエンティストも例外ではありません。特にモデルやデータパイプラインをリモートマシンにデプロイする場合、ターミナルがすべてであることがあります。
さあ、はじめましょう
1.ウィジェット
wgetユーティリティは、リモート・サーバーからファイルをダウンロードするために使用します。URLがわかっていて、wgetコマンドでダウンロードできるのであれば、データセットのダウンロードに使うことができる。例として、次のURLを使うことにする。
https://raw.githubusercontent.com/jbrownlee/Datasets/master/airline-passengers.csv
Macをお使いの方で、wgetがデフォルトで利用できない場合は、ターミナルからbrew install wgetを実行し、インストールを行ってください。データセットのダウンロードが完了したので、基本的な探索に移りましょう。
2.ヘッド
Pythonをお使いの方ならおなじみでしょう。そうでなければ、headコマンドはファイルの最初のN行を表示するために使用されます。デフォルトでは、10行が表示されます。
違う数字、例えば3が欲しい場合は、-nパラメータを使用します。完全なコマンドは次のとおりです。
head -n 3 airline-passengers.csv
3.テール
tailコマンドはheadコマンドと非常によく似ていますが、最後のN行を表示します。
デフォルトでは、10行が表示されます。
headと同様に、-nパラメータで印刷する行数を指定することもできます。
ここまでで基本的なことはわかったので、もう少し面白いことに移りましょう。
4. wc
ファイル内にあるデータポイントの数を知りたいときがあります。わざわざファイルを開いて、手動で下までスクロールする必要はありません。簡単なコマンドで時間を短縮することができます。
まとめると、airline-passengers.csvファイルには144行が含まれています。
5. grep
このコマンドはテキストを処理するためのもので、文字列や正規表現にマッチさせることができます。ここでは、このコマンドを使って、"1949"という文字列を含む行だけを抽出することにします。これは単純なデータセットなので、特に問題はないでしょう。デフォルトでは、grepコマンドは結果を表示しますが、別のCSVファイルに保存することもできます。
6.猫
前の操作がうまくいったかどうかを確認するために、catコマンドを使います。これは、ファイル全体をシェルに表示するために使用します。また、ファイルの結合などにも使用できますが、それは別の機会に説明します。
では、ファイル全体を印刷してみましょう。データは月別にまとめられているので、全部で12行になるはずです。
7.見つける
findコマンドは、ファイルやフォルダーを検索するために使用します。例えば、以下のコマンドを実行すると、カレントディレクトリ(ドットで指定)内のすべてのCSVファイルがシェルに出力されます。
アスタリスク(*)は、ファイル名が ".csv" で終わっていれば、ファイル名は関係ないことを示します。
8.ソート
sortコマンドは、その名の通り、ファイルの中身を何らかの基準で並べ替えることができるコマンドです。例えば、次のコマンドは、データセットを乗客数の昇順でソートします。
k2引数は、2列目のソートを指定します。降順に並べ替えるには、-r引数を
9.ナノ
厳密にはシェルコマンドではありませんが、実行することでNanoエディタが起動します。ここでは、Pythonファイルを作成する方法を説明します。
nano pyfile.py
ここで、簡単なPythonのコードを書いてみましょう。
エディターで任意のPythonコードを記述し、単純なターミナルコマンドでは複雑すぎる解析を行うことができます。終了したら、Pythonファイルを実行することができます。
10. 変数
今日の記事の最後は、変数についてです。ファイルパスが長くなったときや、何度も使う必要があるときなど、便利に使えます。
ここでは、2つの文字列変数を宣言し、mvコマンドを使用してairline-passengers-1949.csvファイルをnew.csvにリネームする方法を説明します。
lsコマンドでディレクトリ内のファイルを一覧表示すると、ご覧の通り、名前の変更操作が成功しました。
以上、pythonの学習・データマイニングで知っておきたいターミナルコマンドTOP10の詳細をご紹介しました。pythonのデータマイニングに必要なターミナルコマンドTOP10については、スクリプトハウスの他の関連記事も参考にしてみてください
関連
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
[解決済み】pytorchでmodel.eval()は何をするのですか?
-
[解決済み] Pythonによるピッチ検出
-
[解決済み] seabornヒートマップのxticklabelsのフォントサイズを変更する。
-
[解決済み] Django の例外 : django.core.exceptions.ImproperlyConfigured:
-
[解決済み] Django テンプレートで辞書要素にアクセスする方法は?
-
[解決済み] E: パッケージ 'python-pip' にはインストール候補がありません。
-
[解決済み] com.apple.xbs フォルダがありません。
-
[解決済み] Matlabのセルアレイに相当するものは何ですか?
-
PythonでValueError: not enough values to unpack (expected 2, got 1)が発生する原因と解決方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】エラー「同一ラベルのシリーズオブジェクトしか比較できない」とsort_indexの関係
-
[解決済み】Python HTTP Server/Client: リモートエンドが応答なしで接続を閉じたエラー
-
[解決済み] ValueError: 解凍する値が足りない (期待値 4、取得値 1)
-
[解決済み] マップされたテーブルの主キー列を組み立てられませんでした。
-
[解決済み] TypeError: 引数1には "書き込み "メソッドが必要です。
-
[解決済み] アーグレレックストレマとフラットエキストレマ
-
ImportError: pkg_resources という名前のモジュールがありません
-
Pythonのリクエストで "Max retries exceeded with url "というエラーが発生する。
-
エラーの解決方法 ValueError: allow_pickle=Falseの場合、オブジェクトの配列を読み込むことができません。