LoginSignup
1
0

More than 3 years have passed since last update.

機械学習に使うツール①

Last updated at Posted at 2019-07-02

Numpy

行列の作成

x = np.array([[1, 2, 3], [4, 5, 6]]) #行列作成
x = np.arange(25) #1からの連番
x = np.arange(25).reshape(5, 5) #5×5行へ変換
x = np.zero((10, 10)) #ゼロ行列 #タプル型であることに注意
x = np.zeros_like(x) #すべての要素をゼロにする
x = np.ones((5, 5)) #1行列 #タプル型であることに注意
x = np.ones_like(x) #すべての要素をゼロにする
x = np.random.rand(10, 2) #0以上1以下の乱数生成
x = np.random.randn(10, 2) #正規分布に従う乱数生成
x = np.linspace(0, 100, 100) #0から100まで100区切り

行列の操作

x[行, 列]
x = np.vstack([x1, x2]) #垂直結合 #vertical
x = np.hstack([x1, x2]) #水平結合 #horizontal
np.vsplit(x, 2) #縦方向に2個に分割
np.hsplit(x, 2) #横方向に2個に分割
x = np.dot(x1, x2) #内積

統計量の算出

np.min(X) #最小値
np.mean(x) #平均値
np.max(x) #中央値
np.median(x) #最大値
np.std(x) #標準偏差
np.var(x) #分散

Pandas

DF作成

np.random.seed(0)#乱数固定

df = pd.DataFrame([[1, 2], [3, 4]]) #データフレーム作成
df = pd.DataFrame({"姓": ["山田", "佐藤","田中"],
                   "名": ["一郎", "二郎", "三郎"]
                   }, index=["1","2","3"])  #辞書型からDF作成

df = pd.DataFrame([["山田","一郎"],
                   ["佐藤", "二郎"],
                   ["田中","三郎"]],
                   index=["1", "2", "3"],
                   columns=["姓","名"])  #リストからDF作成

DFへのアクセス

df.head() #先頭5行
df.tail() #末尾5行
df.describe() #統計量取得
df.columns
df.index
df["特定の列"] #列の取得
df[1:10] 
df.loc[1:3, ["日本語"]]
df1.append(df2)
df = pd.concat([df1, df2]) #行の追加
df = pd.concat([df1, df2], axis=1) #列の追加
df = df.drop(1) #行の削除
del df["特定の列"] #列の削除

ファイルの扱い

df = pd.read_csv("パス") # 読み込み
df.to_csv("パス") #書き込み
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0