初心者のためのPythonチュートリアル　～AI・データサイエンティストへの第一歩～

# この記事のゴール
- Pythonについて理解する
- Pythonのインストール方法が分かる
- Pythonの実行環境の構築方法が分かる
- Pythonの便利機能について理解する

この記事を読めば，Pythonを使うメリットや実際に使うときのイメージが湧きやすいと思います！！
また，チュートリアル用の実践コードは以下を参照してください
（現在作成中，後日掲載予定）

尚，本記事では，[VSCode(Visual Studio Code)](https://code.visualstudio.com/download)を入れている前提で進めます．
開発は基本このVSCodeを使うので，インストールがまだの方は以下の記事を参照して，今すぐ入れてください！！
[初心者にもわかる「VSCode」の導入から基本操作まで解説](https://envader.plus/article/118)


# Pythonとは
**AI，機械学習**や**データ分析**，Web開発など、**Python**はさまざまな分野に使える汎用性の高い言語です。
特に「第3次AIブーム」に位置付けられている昨今では「人工知能(AI)」をはじめとした先端技術開発において人気が高く、
話題の**ChatGPT**も**Python**で開発されています。

# Pythonのインストールと環境構築

## Pythonのインストール
Pythonを使うためには、まず公式サイトからインストールを行います。
Pythonの公式ページ（[https://www.python.org/downloads/](https://www.python.org/downloads/)）から、Pythonをダウンロードし、インストールを完了させます。
本記事では**Python 3.1.2.5**のインストール方法について解説します．
尚，インストールすべきversionについては
[Pythonのインストールすべきバージョンについて　2024年版](https://qiita.com/yasu_qita/items/50c94642dafc1fac9bc2)
を参照してください．

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795703/09431ac4-2f1f-ec2a-1e75-b08816c94af1.png" width="500">

PATHを通す設定を行って，インストールする．
PATHを通す→特定のプログラムをプログラム名だけで実行できるようにする
例）
通っていない："C¥Users¥name¥AppData¥Local¥Programs¥Python¥Python312¥python.exe"
通っている：python
のように，PATHを通さないと，恐ろしいことに毎回超長いコマンドを打つことになる．

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795703/bcffce8e-d473-0139-43aa-10d653079ffd.png" width="500">

## Jupyter Notebookの導入
Visual Studio Codeの拡張機能である，Jupyter Notebookをインストールする．
Jupyter Notebookはセル形式でプログラムを実行できるもので，

- 開発したコードを即時実行でき，コードの検証がしやすい
- プログラム、コメント、標準出力や作図などのプログラムの出力結果が1つにまとまっており、情報が整理されやすく他人とも共有がしやすい
- データ分析のようなある処理の結果を考慮し、次の行動が決まるような作業が直感的に行える
- コードを逐次実行しながら結果が確認できるため、教育用コンテンツとして配布しやすい

のようにJupyter Notebookは本格的な開発に適しているとは言えないものの，
コードのテスト検証やデータ分析結果の可視化・共有と教育分野においては非常に利用しやすい形式です．

### VSCode上でのインストール
VScodeを開いて，拡張機能のうちのJupyterをインストールする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795703/55fb802e-da78-ddfd-0fad-8d3fa18d1a86.png)

動作確認として，適当なディレクトリに`test.ipynb`というファイルを作成．
Jupyter Notebookを利用するには，.ipynbという拡張子が必須．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795703/915b9d45-860e-ee9a-58f1-aea4af143f2c.png)

以上のように
```python:【入力】
print("hoge")
```
と入力して，実行出来たらOK！

### それではPythonの便利機能を体感しましょう！

まずは、各ライブラリを以下のコマンドでインストールしてください。
#### NumPyのインストール
```python
pip3 install numpy
```
#### Pandasのインストール
```python
pip3 install pandas
```
#### Matplotlibのインストール

```python
pip3 install matplotlib
```




# Numpyチュートリアル

## Numpyの強み
**Numpy**は、大規模な数値計算を高速に行うためのライブラリです。特に、配列操作（array）や行列演算（matrix）に優れ、科学技術計算で広く利用されています.
そして，Numpyの高速な配列演算の基礎となるのが，多次元配列オブジェクトである**ndarray**です．
とにかく，Pythonに高速なデータ処理機能を提供する基礎となるものがこの，
**Numpy**であり**ndarray**と覚えておいてください！


### 配列の作成と操作
```python
import numpy as np

# 1次元配列の作成
arr = np.array([1, 2, 3, 4]) #ndarrayの作成
print(arr)

# 2次元配列の作成
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix)
```

### for文やif文を使った配列操作
Numpyを使えば、for文を使わずに効率的な計算が可能ですが、必要に応じてfor文やif文を使用することもあります。
```python
# すべての要素に2を足す
arr = np.array([1, 2, 3, 4])
for i in range(len(arr)): #i=0~3
    arr[i] += 2

print(arr)  # Output: [3, 4, 5, 6]

# 条件に応じた要素の選択
arr = np.array([1, 2, 3, 4, 5])
arr = arr[arr > 2]
print(arr)  # Output: [3, 4, 5]
```

---

# Pandasチュートリアル

## Pandasの強み
Pandasはデータの管理や分析に特化したライブラリで、特にデータフレーム（Dataframe）を用いた操作が容易である点が特徴です．他のツール（Numpyやmatplotlib）と相性が良い

### データフレームの作成と基本操作
```python
import pandas as pd

# データフレームの作成
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'Los Angeles', 'Chicago']}

df = pd.DataFrame(data)
print(df)
```

### データの選択と条件付きフィルタリング
```python
# 特定の列の選択
names = df['Name'] #Nameのデータだけを抽出し，namesに格納
print(names)

# 条件に基づく行のフィルタリング
filtered_df = df[df['Age'] > 30] #年齢が30以上のデータをfiltered_dfに格納
print(filtered_df)
```

### if文を使ったデータ操作
Pandasでもif文を使って条件に基づくデータの処理が可能です。
```python
# 年齢が30歳以上なら 'Senior'、それ以外は 'Junior' とする新しい列を作成
df['Category'] = df['Age'].apply(lambda x: 'Senior' if x >= 30 else 'Junior')
print(df)
```

---

# Matplotlibチュートリアル

## データの可視化
**Matplotlib**は、データの可視化に用いられる強力なライブラリです．
高品質のプロットを作成可能で、作図におけるきめ細かな調整機能が備わっているmatplotlibは、あらゆる図を作成可能で、多機能すぎて使いこなすのが難しいくらいです笑
一般的な利用範囲ではmatplotlibにおいて**pyplot**モジュールを使用することがほとんどです．
ここでは，簡単なグラフの作成方法を紹介します．

### 基本的なグラフの作成
```python
import matplotlib.pyplot as plt #pyplotモジュール

# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 折れ線グラフの作成
plt.plot(x, y, label='Prime Numbers') #plotするデータの選択とデータ名
plt.xlabel('X Axis') #x軸のラベル
plt.ylabel('Y Axis') #y軸のラベル
plt.title('Simple Line Plot') #タイトル設定
plt.legend() #凡例
plt.show() #図の表示
```