python - How to convert an array of strings to an array of floats in numpy? - Stack Overflow
サンプルコード
import numpy as np fname="hoge.txt" a = np.loadtxt(fname, unpack=True, dtype=str) y = a["x"].astype(np.float) >|python|
hoge.txtというテキストファイルを読み込む
このときdtypeで指定できる型は1種類のみ、何もしないとfloat64になるはず
これを文字列にすると、aの中身はすべて文字列のarrayになる
aの中のxという要素は実は文字列じゃなくて、数字なのでそれをastypeでfloatに変換して取り出せる
csvデータの読み込みに、import csvとかやっていたが使いにくい・・・
csvの1行目を辞書型のkeyにして、縦方向に読み込むものだと、思っていたら
csvというパッケージではすべて横方向に読み込んでしまうらしい
あれこれやり方を調べていたら、numpyのloadtxtはcsv読み込みにも使えるらしい
import numpy as np fname="hoge.csv" a = np.loadtxt(fname, unpack=True, dtype=str, dtype="unicode", delimiter=',', skiprows=1)
これだと、1行目は無視することになってる
たいがいcsvの1行目は、列の説明だと思うので(dateとかtemperatureとか)
本当はそれを辞書型のkeyにして読み込みたかったけどやり方がわからない
ランキング参加中です
↓クリックしていただけると嬉しいです〜