Python入門トップページ


目次

  1. Pandas とは
  2. Pandas を利用するための準備
  3. CSV ファイルを読み込む
  4. DataFrame を表示する
  5. 列や行を抽出する
  6. 列名を抽出する
  7. Python リストに変換する
  8. Python リストから DataFrame に変換する
  9. DataFrame から NumPy 配列に変換する
  10. 基本統計量を出力する
  11. CSV ファイルに書き出す
  12. グループ化とピボットテーブル
  13. データフレームの結合(系列名が等しいとき)
  14. データフレームの結合(系列名が異なるとき)
  15. データフレームの連結

Pandas

DataFrame から NumPy 配列に変換する

まずは準備として 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')

目次に戻る