Pythonの基本的な文法(変数、リスト、for文など)を、データ分析でどのように使うかをイメージしながら解説
データサイエンスの第一歩!超シンプルPython入門:変数、リスト、くり返し、もしも【書き方解説付き】
「データサイエンスって難しそう…」「プログラミングなんて無理かも…」
そう思っているあなた!大丈夫です!
実は、データサイエンスでよく使うプログラミング言語「Python」のキホンは、意外とシンプルなんです。
この記事では、Pythonプログラミングの特に大事な4つの要素に絞って、初心者さん向けに超シンプルに解説します。それぞれの「書き方(コードのルール)」も一緒に見ていきましょう!
たったこれだけ知っていれば、データサイエンスの最初の一歩が踏み出せます!
- 変数(データを箱に入れる)
- リスト(データを並べて入れる)
- for文(同じことをくり返す)
- if文(条件で処理を変える)
さあ、難しいことは抜きにして、まずは「へ〜、こんな感じなんだ!」「こうやって書くんだ!」と気軽に読んでみてくださいね。スマホでもパソコンでも、まずはGoogle Colaboratoryなどの場所でコードを書いて動かすのがオススメです!
そもそも、なぜデータサイエンスにPython?(省略)
[ここは前回の案と同じ内容で軽く触れる]
Pythonの超基本:たった4つだけ!【書き方も覚えよう】
これから、データ分析でよく使うPythonの基本的な「動き」と「書き方」を4つご紹介します。
1. 変数:データを「箱」に入れるイメージ
あなたの名前や年齢など、色々なデータに「名前」をつけて覚えておくための箱が「変数」です。
書き方:
箱の名前 = 入れたいデータ
イコール =
は、「右のデータを、左の箱に入れる」という意味です。
# 「my_name」という名前の変数(箱)に「データ太郎」という文字を入れる
my_name = "データ太郎"
# 「age」という名前の変数に「30」という数字を入れる
age = 30
# 箱の中身を見てみよう! print() で表示できます
print(my_name)
print(age)
実行結果:
データ太郎
30
変数名のルール(箱の名前のルール):
- アルファベット、数字、アンダースコア
_
が使えます。 - 数字で始めてはいけません (
1st_data
はダメ)。 - 大文字と小文字は区別されます (
Age
とage
は違う箱)。 - Pythonが決めている特別な言葉(
if
やfor
など)は使えません。 - 後から見て分かりやすい名前にするのが一番大事です!
【データサイエンスで使うイメージ】
データファイルから読み込んだ「総売上」や「平均気温」といった数字を、変数に入れて一時的に覚えておきます。
2. リスト:データを「並べて」入れるイメージ
複数のデータを順番に並べて、まとめて扱いたいときに使うのが リスト です。
書き方:
リストの名前 = [ データ1, データ2, データ3, ... ]
データはカンマ ,
で区切って、全体を []
(角かっこ) で囲みます。
# テストの点数をリストに入れる
scores = [85, 92, 78, 65, 90]
# 色の名前をリストに入れる
colors = ["Red", "Blue", "Green"]
# リストの中身を見てみよう!
print(scores)
print(colors)
実行結果:
[85, 92, 78, 65, 90]
['Red', 'Blue', 'Green']
リストの中の特定のデータを取り出したいときは、データの場所を示す「インデックス」を使います。
書き方:
リストの名前[インデックス番号]
【超重要!】 Pythonのインデックスは、最初のデータが 0番目 です!
scores = [85, 92, 78, 65, 90]
# 0番目の点数(一番最初)を取り出す
print(scores[0])
# 2番目の点数(3番目)を取り出す
print(scores[2]) # 78 が取り出されます
# 一番最後の点数を取り出す便利な方法 (-1 を使う)
print(scores[-1])
実行結果:
85
78
90
リストの最後にデータを追加したいときは、リストの最後に .append()
と書き、丸かっこ ()
の中に加えたいデータを入れます。
書き方:
リストの名前.append(追加したいデータ)
scores = [85, 92, 78, 65, 90]
scores.append(95) # リストの最後に 95 を追加する
print(scores)
実行結果:
[85, 92, 78, 65, 90, 95]
【データサイエンスで使うイメージ】
集めたアンケート回答者の年齢リストや、各商品の売上リストなど、同じ種類の複数のデータをまとめて管理します。
3. for文:同じことを「くり返す」イメージ
リストの中のデータなど、複数のものに対して、同じ作業を一つずつくり返したいときに使うのが for文 です。
書き方:
for 一時的な名前 in リストなど:
# くり返したい作業
# ここは必ず少し右にズラす(インデント)!
作業1
作業2
...
-
一時的な名前
: くり返しごとに、リストから一つずつ取り出されるデータが入る変数のようなものです。 -
リストなど
: くり返しの対象となるリストなどを書きます。 -
:
(コロン) を行の最後に書きます。 - 超重要! くり返したい作業の行は、必ず同じだけ 字下げ(インデント) してください。通常、半角スペース4つかTabキー1回分です。これがPythonのルールの大きな特徴です!
scores = [85, 92, 78, 65, 90]
print("点数を一つずつ見てみよう:")
# scores リストから、点数を一つずつ取り出して point という名前で使う
for point in scores:
# 字下げして、print(point) という作業をくり返す
print(point)
実行結果:
点数を一つずつ見てみよう:
85
92
78
65
90
くり返す回数を指定したいときは、range()
関数を使います。range(5)
なら5回くり返します。
# 5回「Python楽しい!」と表示する
for i in range(5):
# 字下げして、print("Python楽しい!") という作業をくり返す
print("Python楽しい!")
実行結果:
Python楽しい!
Python楽しい!
Python楽しい!
Python楽しい!
Python楽しい!
【データサイエンスで使うイメージ】
データセットの各行(例えば、顧客一人一人の情報)を取り出して、それぞれに同じ計算をしたり、チェックをしたりする作業を自動でくり返すときに使います。
4. if文:「もしも」条件で処理を変えるイメージ
データの値が特定の「条件」に合うかどうかで、やる作業を変えたいときに使うのが if文 です。
書き方:
if 条件:
# もし条件が正しい場合にやる作業
# ここは必ず少し右にズラす(インデント)!
作業A
作業B
...
elif 別の条件: # 「もしもそうでなく、もしも〇〇なら」
# 別の条件が正しい場合にやる作業
# ここは必ず字下げ(インデント)!
作業C
...
else: # 「それ以外のすべての場合」
# 上のどの条件にも当てはまらない場合にやる作業
# ここは必ず字下げ(インデント)!
作業D
...
-
条件
や別の条件
: 「正しい(True)」か「間違っている(False)」のどちらかになる式を書きます。 -
:
(コロン) を行の最後に書きます。 - 超重要! 各条件の下でやりたい作業は、必ず同じだけ 字下げ(インデント) してください。
条件でよく使う記号(比較演算子)はこちらです。
-
==
: 等しい (イコール2つ! 代入の=
とは違います) -
!=
: 等しくない -
<
: より小さい -
>
: より大きい -
<=
: 以下 -
>=
: 以上
score = 85
# もし score が 80以上 ならば...
if score >= 80:
# 字下げして、この行を動かす
print("合格です!")
実行結果:
合格です!
複数の条件で処理を分けたい場合。
age = 18
# もし age が 20以上 ならば...
if age >= 20:
# 字下げして、この行を動かす
print("あなたは成人です。")
# もしそうでなければ...
else:
# 字下げして、この行を動かす
print("あなたは未成年です。")
実行結果:
あなたは未成年です。
elif
を使えば、複数の条件を順番にチェックできます。
score = 75
# もし score が 90以上 ならば...
if score >= 90:
print("評価:A")
# もしそうでなく、もし score が 80以上 ならば...
elif score >= 80:
print("評価:B")
# もしそうでなく、もし score が 70以上 ならば...
elif score >= 70:
print("評価:C")
# 上記のどれにも当てはまらなければ...
else:
print("評価:D")
実行結果:
評価:C
【データサイエンスで使うイメージ】
データの中に変な値がないかチェックしたり、「購入回数が10回以上」といった特定の条件を満たす顧客だけを選び出して、特別な分析をしたりするときに使います。
ちょっと組み合わせて使ってみよう!(省略)
[ここは前回の案と同じ内容で、変数、リスト、for文、if文を組み合わせた簡単なコード例を示す]
まとめ:書き方を意識して動かしてみよう!
Pythonの基本となる、変数、リスト、for文、if文について、それぞれの「書き方」も一緒に見てきました。
- 変数:
名前 = データ
- リスト:
名前 = [データ1, データ2, ...]
、取り出しは名前[番号]
、追加は.append()
- for文:
for 一時名 in リストなど: (字下げ)処理
- if文:
if 条件: (字下げ)処理
、elif 別の条件: (字下げ)別の処理
、else: (字下げ)最後の処理
特に、**for文やif文の後の「コロン :
」と「字下げ(インデント)」**は、Pythonではとても大切なルールです!最初は忘れやすいですが、慣れれば大丈夫です。
まずは、この記事のコードを実際にコピー&ペーストして動かしてみてください。そして、「ああ、こうやって書くからこう動くのか!」という感覚を掴むことが大切です。
今回学んだことだけでも、簡単なデータ操作の基礎ができました。
次のステップでは、もっとたくさんのデータを効率的に扱うための「pandas」という便利な機能(ライブラリ)を学ぶのがオススメです。
「次はpandasを使って、もっとデータを触ってみたい!」
そう思ったら、ぜひ学習を続けてみてください。このブログでも次の記事でpandasについて解説する予定です!
データサイエンティストへの道のりは、今日の小さな一歩から始まります。焦らず、楽しみながらPythonの書き方を覚えていきましょう!
最後までお読みいただき、ありがとうございました。
ポイントの再確認:
- 各要素の解説の冒頭に「書き方:」という見出しで基本的なシンタックスを示す。
- for文とif文では、コロンとインデントの重要性を強調し、書き方の部分に明記する。
- 変数名のルール、リストのインデックス(0始まり)、比較演算子
==
と代入演算子=
の違いなど、初心者がつまずきやすい書き方のルールもシンプルに補足する。 - 全体的なシンプルさは維持する。
これで、より具体的に「どう書けば良いのか」が伝わるブログ記事になるかと思います。
Discussion