まずは準備として GitHub のリポジトリにあるサンプルデータ (clustering-sample.csv) を読み込みます.(なお,ここでのサンプルを実行するだけなら numpy をインポートする必要はありませんが,通常はその後に NumPy 配列を使って何らかの処理をするはずです.)
CSVファイルを読み込む
import pandas as pd
import numpy as np
url = "https://github.com/rinsaka/sample-data-sets/blob/master/clustering-sample.csv?raw=true"
df = pd.read_csv(url)
print(df)
ID x y 0 0 7.4346 6.6520 1 1 6.5419 6.3611 2 2 8.9819 9.2461 3 3 3.8554 4.8386 4 4 1.9527 3.4848 .. ... ... ... 295 295 4.1205 1.5010 296 296 9.2843 1.7563 297 297 6.6627 7.3856 298 298 5.7654 6.0543 299 299 2.2411 1.0902 [300 rows x 3 columns]
Pandas の DataFrame を NumPy 配列に変換するには .values
を使います.データフレームからx列だけ取り出して,1次元のNumPy配列(ベクトル)に変換します.
1次元配列に変換する
x = df.loc[:, 'x' ].values
print(x)
[7.4346 6.5419 8.9819 3.8554 1.9527 ...(中略)... 4.1205 9.2843 6.6627 5.7654 2.2411]
データ型を確認してみます.
データ型を確認する
type(x)
numpy.ndarray
要素のデータ型も確認します.
データ型を確認する
x.dtype
dtype('float64')
データフレームからx列とy列を取り出して,2次元のNumPy配列(行列)に変換します.
2次元配列に変換する
xy = df.loc[:, ['x', 'y']].values
print(xy)
[[7.4346 6.652 ] [6.5419 6.3611] [8.9819 9.2461] [3.8554 4.8386] [1.9527 3.4848] ...(中略)... [4.1205 1.501 ] [9.2843 1.7563] [6.6627 7.3856] [5.7654 6.0543] [2.2411 1.0902]]
データ型を確認してみます.
データ型を確認する
type(xy)
numpy.ndarray
要素のデータ型も確認します.
データ型を確認する
xy.dtype
dtype('float64')