pandas PR

python pandasのデータ分析でできること〜サンプルコード付き〜

python pandas データ分析
記事内に商品プロモーションを含む場合があります

pythonのpandasを使用して、データ分析のために前処理を行うことがあります

前処理を行うことでデータの質を高めることができ、より良い結果を得ることができます

そのため、データ分析の約8割は前処理で決定されるといっても過言ではありません

今回の記事では、pandasを使用したデータ分析でできることについて解説していきたいと思います

pythonのpandasでデータ分析をしたいけど、何ができるのか知りたい

pythonのpandasでデータ分析を行う流れを、ざっくりと知りたい

こんな疑問にお答えします

pandasについて理解ができたら、実際にデータ分析・機械学習を実装していきましょう

Pythonでデータ分析を始めよう!挫折しない実践ガイドでスキルアップ

Pythonで機械学習に学んで実装してみよう【サンプルコードあり】

pandasの初期設定

まずはpandasを使用するための初期設定を行なっていきます

pandasを使うには、Anacondaの利用が便利です

Anacondaのインストール

Anacondaのインストールは簡単に行うことができるので、以下の記事を見つつ、進めていけばOKです

anacondaの構築方法
Pythonの環境構築〜Anacondaとは?〜サンプルコードと図解付きPythonの環境構築を調べると、「Anaconda」という文字を見かけるかと思います。 僕も最初はよくわからなくて、とりあえずwebサイトに書いてある通りに進めていきました。 そのおかげもあり、3回ほど環境構築で挫折をしました。 現在はAnacondaを使ってpythonの学習を進めています。 なので、今回はAnacondaの環境構築について解説をしていこうと思います。 この記事を読んでいるかたが迷子にならないように、画像付きで解説していこうと思いますので、最後までお付き合いください。...

ライブラリのインポート

Anacondaのインストールが完了したら、コードを打っていきます

pandasのライブラリをインポートするのは、以下のコード

import pandas as pd

「as」というのは、pandasを「pd」という名称で使いますよ、というおまじないです

これでpythonでpandasを使用することが可能です

データ分析を行うデータの読み込み

pandasを使用する準備ができたら、データを読み込んでいきます

今回は3種類のデータについて読み込み方法を解説します

csvファイル

pandasでcsvファイルを読み込む場合には、「read_csv」を使用します

import pandas as pd

#csvファイルの読み込み.csvファイルは該当ファイルのパス名をコピペすればOK
file=pd.read_csv("XXXXX.csv")

read_csvのオプションは以下です

引数説明
encoding==’cp932またはUTF-8′セルに日本語が含まれている場合、必須
header=None先頭行をカラムとして取り込みたくないときに使う
dtype=’object’すべてのセルを『文字列』として取り込む
names=’リストまたはタプル’任意のカラム名を設定する
sep=’\t’TXTファイルを読み込む

「sep=’\t’」を入力すれば、txtファイルを読み込むこともできます

excelファイル

excelのファイルを読み込む場合には、read_excelを使用します

import pandas as pd

#excelファイルの読み込み.excelファイルは該当ファイルのパス名をコピペすればOK
file=pd.read_excel("XXXXX.xlx",sheet_name='シート名')

googleスプレッドシート

googleスプレッドシートで読み込むのは、やや煩雑ですが、以下でできます

import json
import gspread # pip install gspread
from oauth2client.service_account import ServiceAccountCredentials # pip install oauth2client

scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name('秘密鍵のJSONファイルのdirパス', scope)
gc = gspread.authorize(credentials)
SPREADSHEET_KEY = 'スプレッドシートキー'
worksheet = gc.open_by_key(SPREADSHEET_KEY).worksheet('ワークシート名')

df = pd.DataFrame(worksheet.get_all_values())

できるならば、あらかじめエクスポートしてから、csvファイルとして読み込むのがおすすめです

読み込んだデータの確認

ここからは読み込んだデータを確認していく作業を行なっていきます

今回はseabornに入っている、irisのデータを使用して、解説していきたいと思います

以下のコードでirisのデータをインポートすることができます

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")

データのチェック

irisのデータがインポートされているかを確認します

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
print(iris)

>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width    species
0             5.1          3.5           1.4          0.2     setosa
1             4.9          3.0           1.4          0.2     setosa
2             4.7          3.2           1.3          0.2     setosa
3             4.6          3.1           1.5          0.2     setosa
4             5.0          3.6           1.4          0.2     setosa
..            ...          ...           ...          ...        ...
145           6.7          3.0           5.2          2.3  virginica
146           6.3          2.5           5.0          1.9  virginica
147           6.5          3.0           5.2          2.0  virginica
148           6.2          3.4           5.4          2.3  virginica
149           5.9          3.0           5.1          1.8  virginica

[150 rows x 5 columns]
import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#先頭5行を出力
print(iris.head())

>>>出力結果
   sepal_length  sepal_width  petal_length  petal_width species
0           5.1          3.5           1.4          0.2  setosa
1           4.9          3.0           1.4          0.2  setosa
2           4.7          3.2           1.3          0.2  setosa
3           4.6          3.1           1.5          0.2  setosa
4           5.0          3.6           1.4          0.2  setosa
import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#最後から5行を出力
print(iris.tail())

>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width    species
145           6.7          3.0           5.2          2.3  virginica
146           6.3          2.5           5.0          1.9  virginica
147           6.5          3.0           5.2          2.0  virginica
148           6.2          3.4           5.4          2.3  virginica
149           5.9          3.0           5.1          1.8  virginica

欠損値の確認・処理

pandasを使って欠損値を確認するには、「.isnull」を使用します

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#データの欠損値を確認する
print(iris.isnull())

>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width  species
0           False        False         False        False    False
1           False        False         False        False    False
2           False        False         False        False    False
3           False        False         False        False    False
4           False        False         False        False    False
..            ...          ...           ...          ...      ...
145         False        False         False        False    False
146         False        False         False        False    False
147         False        False         False        False    False
148         False        False         False        False    False
149         False        False         False        False    False

[150 rows x 5 columns]

上記コードでは見にくいので、まとめていきます

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#欠損値をカラム名ごとにまとめて表示
print(iris.isnull().sum())

>>>出力結果
sepal_length    0
sepal_width     0
petal_length    0
petal_width     0
species         0
dtype: int64

今回のirisのデータでは、欠損値がないことがわかりました

欠損値が含まれていた場合には、以下のコードで対応していきます

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
# 欠損値がひとつでも含まれている行を削除する
iris.dropna()

# ある行のすべての値が欠損していたら、その行を削除する
iris.dropna(subset=['列名'], how='all')

# すべての欠損値を0で置換する
iris.fillna(0)

基本的な分析

データの中身、欠損値の確認までできたので、次はデータ構成を確認していきます

データ構成の確認

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#データ構成を確認
print(iris.info())

>>>出力結果
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 5 columns):
 #   Column        Non-Null Count  Dtype  
---  ------        --------------  -----  
 0   sepal_length  150 non-null    float64
 1   sepal_width   150 non-null    float64
 2   petal_length  150 non-null    float64
 3   petal_width   150 non-null    float64
 4   species       150 non-null    object 
dtypes: float64(4), object(1)
memory usage: 6.0+ KB

データサイズの確認

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#行数と列数を確認
print(iris.shape)

>>>出力結果
(150, 5)

#行数だけ確認
print(len(iris))

>>>出力結果
150

#列数だけ確認
print(len(iris.columns))

>>>出力結果
5

データの行名と列名を確認

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#インデックスの確認
print(iris.index)

>>>出力結果
RangeIndex(start=0, stop=150, step=1)

#カラム名の確認
print(iris.columns)

>>>出力結果
Index(['sepal_length', 'sepal_width', 'petal_length', 'petal_width',
       'species'],
      dtype='object')

各列のデータの型を確認

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#DataFrameのデータ型を確認
print(iris.dtypes)

>>>出力結果
sepal_length    float64
sepal_width     float64
petal_length    float64
petal_width     float64
species          object
dtype: object

列で重複を含まない値を確認する(ユニークの確認)

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#重複を含まない値を確認
print(iris['sepal_length'].unique())

>>>出力結果
[5.1 4.9 4.7 4.6 5.  5.4 4.4 4.8 4.3 5.8 5.7 5.2 5.5 4.5 5.3 7.  6.4 6.9
 6.5 6.3 6.6 5.9 6.  6.1 5.6 6.7 6.2 6.8 7.1 7.6 7.3 7.2 7.7 7.4 7.9]

各列のユニークな値の出現頻度を確認

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#出現頻度の確認
print(iris['sepal_length'].value_counts())

>>>出力結果
5.0    10
6.3     9
5.1     9
5.7     8
6.7     8
5.8     7
5.5     7
6.4     7
4.9     6
6.0     6
5.4     6
5.6     6
6.1     6
6.5     5
4.8     5
6.2     4
5.2     4
7.7     4
6.9     4
4.6     4
7.2     3
5.9     3
4.4     3
6.8     3
6.6     2
4.7     2
7.1     1
7.4     1
7.6     1
7.9     1
4.5     1
7.0     1
5.3     1
7.3     1
4.3     1
Name: sepal_length, dtype: int64

読み込んだファイルの要約統計量を算出する

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#出現頻度の確認
print(iris.describe())

>>>出力結果
       sepal_length  sepal_width  petal_length  petal_width
count    150.000000   150.000000    150.000000   150.000000
mean       5.843333     3.057333      3.758000     1.199333
std        0.828066     0.435866      1.765298     0.762238
min        4.300000     2.000000      1.000000     0.100000
25%        5.100000     2.800000      1.600000     0.300000
50%        5.800000     3.000000      4.350000     1.300000
75%        6.400000     3.300000      5.100000     1.800000
max        7.900000     4.400000      6.900000     2.500000

これで最大値や最小値、平均値などを一気に算出することが可能です

データの可視化

ここからはデータの可視化をしていきたいと思います

データの可視化はmatplotlibやseaborn、plotlyなどを使用すれば行うことができます

seabornが見た目が綺麗に可視化できるので、seabornを使用して解説をしていきたいと思います

import pandas as pd
#seabornで可視化を行う
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")

基本的にはseabornをインポートすれば、可視化を行うことができます

seabornを使用した可視化の詳細は以下の記事を参考にしてください

python データ分析 可視化
pythonでデータ分析から可視化まで行う【サンプルコード付き】pythonで統計学をかけたり、前処理などを行なっても、誰もがわかる状態にはなっていません。誰もが見ただけでわかるようにするためには「可視化」をする必要があります。今回の記事ではseabornを使用した可視化の方法について解説をしていきたいと思います。...

seabornを使用して、こんな感じの可視化を行なっていきます

データの選択・抽出

ここからは、特定のデータを選択・抽出する方法について解説をしていきたいと思います

直接指定

単一のデータを選択する

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#単一のデータを選択する
print(iris['sepal_length'])

>>>出力結果
0      5.1
1      4.9
2      4.7
3      4.6
4      5.0

145    6.7
146    6.3
147    6.5
148    6.2
149    5.9
Name: sepal_length, Length: 150, dtype: float64

複数のデータを選択する

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#複数のデータを選択する
print(iris[['sepal_length','sepal_width']])

>>>出力結果
     sepal_length  sepal_width
0             5.1          3.5
1             4.9          3.0
2             4.7          3.2
3             4.6          3.1
4             5.0          3.6
..            ...          ...
145           6.7          3.0
146           6.3          2.5
147           6.5          3.0
148           6.2          3.4
149           5.9          3.0

[150 rows x 2 columns]

条件指定

条件指定では、pandasのquery()を使用していきます

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#sepal_lengthで5.1のデータだけを抽出
print(iris.query('sepal_length == 5.1'))

>>>出力結果
    sepal_length  sepal_width  petal_length  petal_width     species
0            5.1          3.5           1.4          0.2      setosa
17           5.1          3.5           1.4          0.3      setosa
19           5.1          3.8           1.5          0.3      setosa
21           5.1          3.7           1.5          0.4      setosa
23           5.1          3.3           1.7          0.5      setosa
39           5.1          3.4           1.5          0.2      setosa
44           5.1          3.8           1.9          0.4      setosa
46           5.1          3.8           1.6          0.2      setosa
98           5.1          2.5           3.0          1.1  versicolor
import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#sepal_lengthで5.1のデータかつspeciesがversicolorのデータを抽出
print(iris.query('sepal_length == 5.1 & species == "versicolor"'))

>>>出力結果
    sepal_length  sepal_width  petal_length  petal_width     species
98           5.1          2.5           3.0          1.1  versicolor

ランダム指定

元のデータからランダムでデータを抽出する場合には、sample()を使用します

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#データを全体の50%の割合でランダム抽出する
print(iris.sample(frac=0.5,random_state=0))

>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width     species
114           5.8          2.8           5.1          2.4   virginica
62            6.0          2.2           4.0          1.0  versicolor
33            5.5          4.2           1.4          0.2      setosa
107           7.3          2.9           6.3          1.8   virginica
7             5.0          3.4           1.5          0.2      setosa
..            ...          ...           ...          ...         ...
111           6.4          2.7           5.3          1.9   virginica
95            5.7          3.0           4.2          1.2  versicolor
20            5.4          3.4           1.7          0.2      setosa
15            5.7          4.4           1.5          0.4      setosa
52            6.9          3.1           4.9          1.5  versicolor

[75 rows x 5 columns]
import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
#データを100個ランダム抽出する
print(iris.sample(n=100,random_state=0))

>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width     species
114           5.8          2.8           5.1          2.4   virginica
62            6.0          2.2           4.0          1.0  versicolor
33            5.5          4.2           1.4          0.2      setosa
107           7.3          2.9           6.3          1.8   virginica
7             5.0          3.4           1.5          0.2      setosa
..            ...          ...           ...          ...         ...
139           6.9          3.1           5.4          2.1   virginica
42            4.4          3.2           1.3          0.2      setosa
4             5.0          3.6           1.4          0.2      setosa
129           7.2          3.0           5.8          1.6   virginica
17            5.1          3.5           1.4          0.3      setosa

[100 rows x 5 columns]

データの整形

代表値の算出

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
# 有効データのカウント数
print(iris['sepal_length'].count())

>>>出力結果
150

# 合計値
print(iris['sepal_length'].sum())

>>>出力結果
876.5

# 最小値
print(iris['sepal_length'].min())

>>>出力結果
4.3

# 最大値
print(iris['sepal_length'].max())

>>>出力結果
7.9

# 平均値
print(iris['sepal_length'].mean())

>>>出力結果
5.843333333333335

# 中央値
print(iris['sepal_length'].median())

>>>出力結果
5.8

# 最頻値
print(iris['sepal_length'].mode())

>>>出力結果
0    5.0

# 標本分散
print(iris['sepal_length'].var())

>>>出力結果
0.6856935123042505


# 標本標準偏差
print(iris['sepal_length'].std())

>>>出力結果
0.8280661279778629

置換

replaceを使って要素を置換する場合には、第一引数に元の要素の値、第二引数に置換後の値を指定します

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")

print(iris)
>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width    species
0             5.1          3.5           1.4          0.2     setosa
1             4.9          3.0           1.4          0.2     setosa
2             4.7          3.2           1.3          0.2     setosa
3             4.6          3.1           1.5          0.2     setosa
4             5.0          3.6           1.4          0.2     setosa
..            ...          ...           ...          ...        ...
145           6.7          3.0           5.2          2.3  virginica
146           6.3          2.5           5.0          1.9  virginica
147           6.5          3.0           5.2          2.0  virginica
148           6.2          3.4           5.4          2.3  virginica
149           5.9          3.0           5.1          1.8  virginica

#speciesの列でvirginicaというデータをsetosaに置換する
print(iris.replace('virginica','setosa'))
>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width species
0             5.1          3.5           1.4          0.2  setosa
1             4.9          3.0           1.4          0.2  setosa
2             4.7          3.2           1.3          0.2  setosa
3             4.6          3.1           1.5          0.2  setosa
4             5.0          3.6           1.4          0.2  setosa
..            ...          ...           ...          ...     ...
145           6.7          3.0           5.2          2.3  setosa
146           6.3          2.5           5.0          1.9  setosa
147           6.5          3.0           5.2          2.0  setosa
148           6.2          3.4           5.4          2.3  setosa
149           5.9          3.0           5.1          1.8  setosa

異なる複数の要素を一括で置換

異なる複数の要素を一括で置換したい場合には、辞書もしくはリストを使って行います

辞書で指定する場合には、第一引数に{元の値:置換後の値}の辞書を指定します

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
print(iris)
>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width species
0             5.1          3.5           1.4          0.2  setosa
1             4.9          3.0           1.4          0.2  setosa
2             4.7          3.2           1.3          0.2  setosa
3             4.6          3.1           1.5          0.2  setosa
4             5.0          3.6           1.4          0.2  setosa
..            ...          ...           ...          ...     ...
145           6.7          3.0           5.2          2.3  setosa
146           6.3          2.5           5.0          1.9  setosa
147           6.5          3.0           5.2          2.0  setosa
148           6.2          3.4           5.4          2.3  setosa
149           5.9          3.0           5.1          1.8  setosa

#virginicaをsetosaに、3.5の値を0.0に置換
print(iris.replace({'virginica':'setosa',3.5:0.0}))
>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width species
0             5.1          0.0           1.4          0.2  setosa
1             4.9          3.0           1.4          0.2  setosa
2             4.7          3.2           1.3          0.2  setosa
3             4.6          3.1           1.5          0.2  setosa
4             5.0          3.6           1.4          0.2  setosa
..            ...          ...           ...          ...     ...
145           6.7          3.0           5.2          2.3  setosa
146           6.3          2.5           5.0          1.9  setosa
147           6.5          3.0           5.2          2.0  setosa
148           6.2          3.4           5.4          2.3  setosa
149           5.9          3.0           5.1          1.8  setosa

リストで置換する場合には、第一引数に元の値のリスト、第二引数に置換後の値のリストを指定します

リストのサイズが一致していないとエラーになります

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
print(iris)
>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width species
0             5.1          3.5           1.4          0.2  setosa
1             4.9          3.0           1.4          0.2  setosa
2             4.7          3.2           1.3          0.2  setosa
3             4.6          3.1           1.5          0.2  setosa
4             5.0          3.6           1.4          0.2  setosa
..            ...          ...           ...          ...     ...
145           6.7          3.0           5.2          2.3  setosa
146           6.3          2.5           5.0          1.9  setosa
147           6.5          3.0           5.2          2.0  setosa
148           6.2          3.4           5.4          2.3  setosa
149           5.9          3.0           5.1          1.8  setosa

#virginicaをsetosaに、0.2の値を0.0に置換
print(iris.replace(['virginica',0.2],['setosa',0.0]))
>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width species
0             5.1          3.5           1.4          0.0  setosa
1             4.9          3.0           1.4          0.0  setosa
2             4.7          3.2           1.3          0.0  setosa
3             4.6          3.1           1.5          0.0  setosa
4             5.0          3.6           1.4          0.0  setosa
..            ...          ...           ...          ...     ...
145           6.7          3.0           5.2          2.3  setosa
146           6.3          2.5           5.0          1.9  setosa
147           6.5          3.0           5.2          2.0  setosa
148           6.2          3.4           5.4          2.3  setosa
149           5.9          3.0           5.1          1.8  setosa

削除

データを削除するには「drop」を使用します

import pandas as pd
import seaborn as sns
sns.set()

iris=sns.load_dataset("iris")
# 行の削除「行番号もしくは行名で指定」
# [inplace=True]:元のDataFrameを更新する。デフォルトはFalse
print(iris.drop(0))
>>>出力結果
     sepal_length  sepal_width  petal_length  petal_width    species
1             4.9          3.0           1.4          0.2     setosa
2             4.7          3.2           1.3          0.2     setosa
3             4.6          3.1           1.5          0.2     setosa
4             5.0          3.6           1.4          0.2     setosa
5             5.4          3.9           1.7          0.4     setosa
..            ...          ...           ...          ...        ...
145           6.7          3.0           5.2          2.3  virginica
146           6.3          2.5           5.0          1.9  virginica
147           6.5          3.0           5.2          2.0  virginica
148           6.2          3.4           5.4          2.3  virginica
149           5.9          3.0           5.1          1.8  virginica

# 列の削除「列名で指定」
print(iris.drop('sepal_length', axis=1))
>>>出力結果
     sepal_width  petal_length  petal_width    species
0            3.5           1.4          0.2     setosa
1            3.0           1.4          0.2     setosa
2            3.2           1.3          0.2     setosa
3            3.1           1.5          0.2     setosa
4            3.6           1.4          0.2     setosa
..           ...           ...          ...        ...
145          3.0           5.2          2.3  virginica
146          2.5           5.0          1.9  virginica
147          3.0           5.2          2.0  virginica
148          3.4           5.4          2.3  virginica
149          3.0           5.1          1.8  virginica

pandasについて理解ができたら、実際にデータ分析・機械学習を実装していきましょう

Pythonでデータ分析を始めよう!挫折しない実践ガイドでスキルアップ

Pythonで機械学習に学んで実装してみよう【サンプルコードあり】

おすすめプログラミングスクール

DMMWEBCAMP
  • WEBCAMPはコスパ最強
  • WEBCAMPは初心者に優しい充実したサポート付き
  • 16週間プランを選択して、返金してもらおう
WEBCAMPの公式ページはこちら WEBCAMPの口コミ・評価はこちら
テックアカデミー  
  • テックアカデミーは費用対効果抜群
  • テックアカデミーのサポートは個人の能力に応じつつ、python初心者に優しい
  • まずは無料体験でテックアカデミーを知ってから受講を決める
テックアカデミーの公式ページはこちら テックアカデミーの口コミ・評価はこちら
キカガク
  • 多種多様なスキルコース
  • 初心者から専門家まで対象
  • 給付金利用で費用を抑えられる
キカガクの公式ページはこちら キカガクの口コミ・評価はこちら
Aidemy Premium
  • 完全オンラインで、時間や場所に縛られず学習したい
  • マンツーマン学習サポートにより実践に近い経験をしたい
  • 未経験から機械学習エンジニアになりたい
Aidemy Premiumの公式ページはこちら Aidemy Premiumの口コミ・評価はこちら
My Agile Privacy
This website uses technical and profiling cookies. Clicking on "Accept" authorises all profiling cookies. Clicking on "Refuse" or the X will refuse all profiling cookies. By clicking on "Customise" you can select which profiling cookies to activate.