始める無料で始める

異なるデータ型のインポート

ファイル seaslug.txt の特徴は次のとおりです。

  • 文字列からなるテキストヘッダーがある
  • タブ区切り形式である

このデータは、一定期間内に変態したウミウシの幼生の割合を示しています。 詳細はこちらをご覧ください。

ヘッダーが含まれているため、そのまま np.loadtxt() でインポートしようとすると、 Python は ValueError を返し、 could not convert string to float(文字列を浮動小数点数に変換できない)というエラーが発生します。この問題への対処法は2つあります。 1つ目は、データ型の引数 dtypestr(文字列)に設定する方法です。

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()
コードを編集して実行