Pythonを無料で独学できるKaggleのCourses|Strings and Dictionaries_Tutorial

スポンサーリンク
Kaggle
【Python初心者でも分かる】データサイエンティスト協会の100本ノック|ダウンロードから読み込みまで
「データサイエンティスト協会の100本ノック」はビジネス現場で使えるデータ分析の学習に最適です。その「データサイエンティスト協会の100本ノック」のデータとPythonコードがGitHubで公開されています。 今回は、...
素人がデータサイエンティストになるための近道|社内データサイエンティスト
データサイエンティストとは、データを使って問題を解決する人のことです。 データサイエンティストって、なんかかっこいいですよね。パソコンの前で、難しそうなデータを扱って、表とかグラフにまとめて、経営陣にプレゼンする。最近...

Pythonを学びたいと思っている方に非常におすすめな学習方法があります。それは、KaggleのCoursesです。特徴としては、以下のものがあります。

  • 無料
  • 面倒な環境設定なく
  • 解説付きで
  • 体系的に学習できる

これは、活用しないわけにはいかないですよね。ただ、このKaggleのCoursesは、英語で書かれています。なので、英語が苦手な初学者にはハードルが高いと感じるかもしれません。なので、日本語でコードの解説をしていきます

まずは、以下の記事を参考に、KaggleのCoursesで独学する方法を解説しています。

Kaggle Courses|Pythonを無料で独学できる超簡単な方法

今回は、KaggleのCoursesの各論として、Python編の「Strings and Dictionaries」の「tutorial」を解説していきます。

Strings and Dictionaries(tutorial)

このレッスンでは、Pythonの2つの重要な型である文字列と辞書について説明します。

Strings|文字列

Python言語が真価を発揮するのは、文字列の操作にあります。このセクションでは、Pythonの組み込み文字列メソッドとフォーマット操作について説明します。

このような文字列操作のパターンは、データサイエンスの仕事の文脈ではよく出てきます。

String syntax|文字列の構文

これまでの授業で文字列の例をたくさん見てきましたが、もう一度おさらいすると、Pythonの文字列はシングルクォートとダブルクォートのどちらを使って定義することができます。これらは機能的に同等です。

ダブルクォートは、文字列にシングルクォート文字(アポストロフィを表すなど)が含まれている場合に便利です。

同様に、シングルクォートでくくれば、ダブルクォートを含む文字列を簡単に作成することができます。

シングルクオート文字列の中にシングルクオート文字を入れようとすると、Pythonは混乱します。

シングルクォートをバックスラッシュで「エスケープ」することで、これを修正することができます。

下表は、バックスラッシュ文字の重要な使い方をまとめたものです。

What you type… What you get example print(example)
\’ ‘What\’s up?’ What’s up?
\” “That’s \”cool\”” That’s “cool”
\\ \ “Look, a mountain: /\\” Look, a mountain: /\
\n “1\n2 3” 1
2 3
最後の「\n」は、改行文字を表します。これは Python に新しい行を開始させます。
さらに、Pythonの文字列のためのトリプルクォートの構文は、文字通り(つまり、特別な ‘˶’˶ではなく、キーボードの ‘enter’を打つことで)改行を含めることができます。これは関数のドキュメントに使用するdocstringですでに見てきましたが、文字列を定義したいところならどこでも使うことができます。
print() 関数は、キーワード引数 end にデフォルト値 ‘\n’ 以外の値を指定しない限り、自動的に改行文字が追加されます。

Strings are sequences|文字列はシーケンス

文字列は、文字の並びとして考えることができます。これまで見てきたように、リストに対してできることはほとんどすべて、文字列に対してもできます。
しかし、リストと大きく異なるのは、リストが不変であることです。変更することができないのです。

String methods|文字列のメソッド

リストと同様に、str型にも非常に便利なメソッドがたくさんあります。ここでは、そのうちのいくつかを紹介します。
文字列とリストを行き来する: .split() と .join()
str.split()は、文字列を小さな文字列のリストに変換し、デフォルトで空白で区切ります。これは、1つの大きな文字列から単語のリストへ変換するのに非常に便利です。
時には、空白以外の部分で分割したいこともあるでしょう。
str.join()は、文字列のリストを、呼び出された文字列をセパレータとして、1つの長い文字列に縫い合わせるという逆方向の処理を行います。
.format()による文字列のビルド
Pythonでは、+演算子で文字列を連結することができます。
文字列でないオブジェクトを投入する場合は、最初に str() を呼び出すように注意しなければなりません。
これでは読みにくいし、入力するのもめんどくさい。
str.format()で解決。

とてもすっきりしていますね。挿入したいPythonの値を{}プレースホルダーで表現した「フォーマット文字列」に対して.format()を呼び出しているのです。

intから位置を変換するためにstr()を呼び出す必要さえないことに注目してください。format()は私たちのためにそれを引き受けてくれます。

もしformat()がやってくれることがこれだけなら、まだ信じられないほど便利です。しかし、実際にはもっと多くのことができるのです。ここではその一部を紹介します。

str.formatについてだけで短い本が書けるかもしれないので、ここでやめておきます。さらに読むにはpyformat.infoと公式ドキュメントを参照してください。

Dictionaries

辞書は、Pythonの組み込みデータ構造で、以下のような特徴があります。 またはキーと値の対応付けを行います。

この場合、’one’, ‘two’, ‘three’がキーで、1, 2, 3がそれに対応する値である。

値へのアクセスは、リストや文字列へのインデックス付けと同様の角括弧構文で行います。

同じ構文で、別のキーと値のペアを追加することができます。

または、既存のキーに関連する値を変更する場合

Pythonには、前のチュートリアルで見たリスト内包に似た構文の辞書内包があります。

in演算子は、あるものが辞書のキーであるかどうかを教えてくれます。

辞書に対するforループは、そのキーに対してループします。

すべてのキーまたはすべての値のコレクションにアクセスするには、それぞれdict.keys()とdict.values()を使用します。

非常に便利な dict.items() メソッドを使うと、辞書のキーと値を同時に反復処理することができます。(Pythonの専門用語では、アイテムはキーと値のペアを指します)

辞書のメソッドの完全な目録を読むには、下の「出力」ボタンをクリックしてヘルプページを読むか、公式オンラインドキュメントをチェックしてください。

 

Python初心者がデータサイエンティストになるために必要な書籍

コメント

タイトルとURLをコピーしました