2016-11-17 8 views
-1

私はずっと前からmatplotlibを使用していましたが、素晴らしいですが、私はパンダに切り替えたいと思っていました。パンダを使用したCSVファイルの解析

sam,123,184,2.6,543 
winter,124,284,2.6,541 
summer,178,384,2.6,542 
summer,165,484,2.6,544 
winter,178,584,2.6,545 
sam,112,684,2.6,546 
zack,145,784,2.6,547 
mike,110,984,2.6,548 
etc..... 

私は名前マイクで何のためにCSVを検索し、それを自分のリストを作成する最初たい:

私のデータセットは、次のようになります。今度はこのリストを使って、たとえば、sam[3] + winter[4]またはsam[1]/10を追加して、数学をやりたいと思っています。最後の部分は、列をお互いにプロットすることです。

このページを通って行く

http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table 

私が見る唯一の事は、私は列ヘッダを持っている場合は、しかし、私は任意のヘッダを持っていないです。私は自分が望む値の行の中の位置だけを知っています。

だから私の質問は次のとおりです。

  1. 私は行ごとにリストの束を作成するにはどうすれば私のCSVデータポイントの数百万人を持っている場合(SAM、冬、夏)
  2. は、効率的なこの方法ですか?
  3. パンダのデータフレームをプロットするのに、matplotlibプロットを使用できますか?

すなわち:

fig1 = plt.figure(figsize= (10,10)) 
ax = fig1.add_subplot(211) 
ax.plot(mike[1], winter[3], label='Mike vs Winter speed', color = 'red') 

答えて

1

あなたはヘッダーなしのCSVを読むことができます:

data=pd.read_csv(filepath, header=None) 

列は0 の選択とフィルタリングから始まる番号が付けられます。

all_summers = data[data[0]=='summer'] 

いくつかの操作をグループ化する場合は最初の列は、それは次のようになります。

sums = data.groupby(0).sum() 
sums.loc['sam'] 

を例プロット:参照、プロットの詳細については

sums.plot() 
import matplotlib.pyplot as plt 
plt.show() 

http://pandas.pydata.org/pandas-docs/version/0.18.1/visualization.html

data.groupby(0).sum() 
data.groupby(0).count() 
... 

は、グループ化した後に、行を選択します

+0

私はちょっと混乱しています。ここでは、最初の列の値に基づいてリストを作成する方法を示します。たとえば、それに含まれるものすべてが夏ですか? –

+0

あなたはこの 'data [data [0] == 'summer']のようなすべての' summer'sを取得します。 – burhan

+0

ここではうまくいきませんでした.Sam = data [data [0] == 'sam' ] print(サム)、私が持っていたのは全部で10個のフィールド、15行目をスキップしたものです。 –

-1
df = pd.read_csv(filepath, header=None) 
mike = df[df[0]=='mike'].values.tolist() 
winter = df[df[0]=='winter'].values.tolist() 

あなたはあなたが望むようにそれらのリストをプロットすることができます

fig1 = plt.figure(figsize= (10,10)) 

ax = fig1.add_subplot(211) 

ax.plot(mike, winter, label='Mike vs Winter speed', color = 'red') 
+0

私はまた、期待される10個のフィールドが3行目をスキップしていたことなどのエラーが発生しています。 –

+0

リストの長さが異なるためです。 '' len(冬) ''と '' len(mike) ''を比べてみてください –

+0

はい、違います。私は各カンマの後にスペースがあるので、私は本当のCSVファイルを持っていないと思いますか? –

関連する問題