NumPyのndarray その7 ndarrayにCSVファイルを読み込んでみよう
PandasのDataFrameにCSVファイルを読み込むというのを以前まとめました。
今回はndarrayにCSVファイルを読み込んでみたいと思います。
まずはテストデータを作ってみよう
NumPyの特徴が計算に特化しているということなので、
今回は数値のみ(int)のファイルを作成してみました。
例:
今回はtest2.csvというCSVファイルを読み込んでみよう
CSVファイルの配置場所は、Pythonの実行環境と同じ場所においてみる。
python/
├ MMM.py(今回実行するファイル)
├ test2.csv(読み込みたいCSVファイル)
1,2,3
2,3,4
3,4,5
実際にデータを取り込んでみよう!
MMM.py
import numpy as np # loadtxtを使って区切り文字を使ったファイルの読み込みを行う。 # encoding:shift_JISのファイルなので指定します。 # delimiter:デフォルトは空白なので、カンマの指定をします。 n_array = np.loadtxt("test.csv", encoding = "shift_JIS" ,delimiter = ",") print(n_array)
n_arrayの結果:
[ [1. 2. 3.]
[2. 3. 4.]
[3. 4. 5.]]
n_arrayの結果に全て小数点がつきました。
ということで、型の確認をしてみたいと思います。
print(n_array.dtype)
n_array.dtypeの結果:float64
これより、CSVファイルには整数で入っていた数値が
ndarrayに取り込む際にfloat64型に変換されたことがわかります。
<最終更新日:2021/09/14>
2021/09/14 投稿
NumPyのndarray その6 ndarrayとSeriesを相互変換してみよう
先日はndarray⇄DataFrameの相互変換をまとめてみました。
次は?ということで、ndarray⇄Seriesの相互変換をやってみたいと思います。
今回のテストデータとして、ndarrayに以下のデータを使用します。
10 | 20 | 30 | 40 | 50 |
まずはndarray→Seriesへの変換
ndarrayにインデックスをつけて変換することが可能です。
(何もつけないでいると自動で0から割り振られます。)
- 実際にやってみよう
import numpy as np import pandas as pd # テストデータ作成 data = [10,20,30,40,50] # テストデータをndarrayに入れる a = np.array(data) # ndarray→Seriesに変換。 s = pd.Series(a) print(s)
sの結果:
今回はインデックスに何も指定をしていないので、
自動で0から割り振られました。
0 | 10 |
1 | 20 |
2 | 30 |
3 | 40 |
4 | 50 |
続いて、Series→ndarrayに変換してみよう。
DataFrame→ndarrayの時と同じように、Seriesのラベル情報は
ndarrayに変換される際に失われてしまいます。
- 実際やってみよう
# print(s)の続き n = np.array(s) print(n)
nの結果: [10 20 30 40 50]
一番初めに作ったテストデータと同じものができあがりました。
<最終更新日:2021/09/13>
2021/09/13 投稿