2017-05-22 53 views
-1

csvファイルのすべての行から、各行の算術値を2つだけ保持し、作成したいプロットのXYペアとして使用しますそれらをクラスタリングするために書いたコードにそれらを「フィード」します。どんな助け?CSVファイルからmatplotlibで特定のデータをプロットする方法

+0

まず、numpyを学び、numpy配列にcsvをロードする方法を学んでください。その後、列を選択してプロットするのは簡単です。クラスター化コードについては、既に理解していることが分かります。 – hpaulj

答えて

0

numpy.genfromtxtを使用すると、delimiter=','usecols kwargを使用して、読み込む列を選択するだけで、csvファイルから特定の列を読み込むことができます。例えば

import numpy as np 
import matplotlib.pyplot as plt 

# Create a dummy csv file 
from StringIO import StringIO 
mycsv = StringIO(""" 
     1.,2.,3.,9. 
     3.,4.,2.,4. 
     8.,3.,4.,1. 
     1.,6.,3.,4. 
     """) 

# Read csv using genfromtxt. Select only the second and firth columns. 
x, y = np.genfromtxt(mycsv, usecols=(1, 3), unpack=True, delimiter=',') 

plt.plot(x, y, 'ko') 
plt.show() 

enter image description here

0

あなたがデータを抽出してリストに保存するPythonのCSVモジュールとリストのインデックスを使用することができます。

私は非常に啓発本サイトのチュートリアルを見つける:https://pythonprogramming.net/reading-csv-files-python-3/

あなたはplt.scatter()のデータをプロットするメソッドを使用することができます。

import matplotlib.pytplot as plt 

plt.scatter(x,y) # x and y being 2 lists of the coordinates of your values 
plt.show() 
関連する問題