異なるデータ型のインポート
ファイル seaslug.txt の特徴は次のとおりです。
- 文字列からなるテキストヘッダーがある
- タブ区切り形式である
このデータは、一定期間内に変態したウミウシの幼生の割合を示しています。 詳細はこちらをご覧ください。
ヘッダーが含まれているため、そのまま np.loadtxt() でインポートしようとすると、
Python は ValueError を返し、
could not convert string to float(文字列を浮動小数点数に変換できない)というエラーが発生します。この問題への対処法は2つあります。
1つ目は、データ型の引数 dtype を str(文字列)に設定する方法です。
2つ目は、skiprows 引数を使って先頭行をスキップする方法で、これは以前にも学習しました。
この演習はコースの一部です
Python でのデータインポート入門
演習の手順
np.loadtxt()の最初の呼び出しを完成させましょう。第1引数にfileを渡してください。print(data[0])を実行して、dataの最初の要素を表示します。np.loadtxt()の2回目の呼び出しを完成させましょう。インポートするfileはタブ区切り形式で、データ型はfloat、先頭行はスキップする必要があります。print()コマンドを完成させて、data_floatの10番目の要素を表示します。直前のprint()の呼び出しを参考にしてください。- 残りのコードを実行して、データを可視化しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Assign filename: file
file = 'seaslug.txt'
# Import file: data
data = np.loadtxt(____, delimiter='\t', dtype=str)
# Print the first element of data
print(data[0])
# Import file as floats and skip the first row: data_float
data_float = np.loadtxt(____, delimiter='____', dtype=____, skiprows=____)
# Print the 10th element of data_float
print(____)
# Plot a scatterplot of the data
plt.scatter(data_float[:, 0], data_float[:, 1])
plt.xlabel('time (min.)')
plt.ylabel('percentage of larvae')
plt.show()