2016-11-21 21 views
0

2つのデータフレームをプロットする際に問題があります。 1つは20711エントリ、もう1つは20710エントリです。私はこのようにプロットするプロット(x、y)を使用しています:異なるサイズの2つの異なるデータフレームをプロットする?

import pandas as pd 
import csv 
import matplotlib.pyplot as plt 

fig1 = plt.figure(figsize= (10,10)) 
ax = fig1.add_subplot(111) 
ax.plot(X, Y) 

はどちらも、CSVファイルから引き出されたデータフレームです。それは、このような構造を持っている:

print(X) 
0  -2.343060 
1  -2.445431 
2  -2.335754 
3  -2.478535 
4  -2.527026 
print(Y) 
0  0.026940 
1  -0.075431 
2  0.024246 
3  -0.118535 
4  -0.167026 
5  -0.145475 

私はエラーを取得しておいてください。それが最後のエントリを無視するよう

ValueError: x and y must have same first dimension 

は、私はそれをどのように修正すればよいですか?まあ

+0

を20711と20710のエントリを有し、4と5のエントリを持つに違いはありませんので、あなたは簡単に完了し、[最小を作成することができ、かつ検証可能例](http://stackoverflow.com/help/mcve)を参照してください。 – ImportanceOfBeingErnest

+0

@ImportanceOfBeingErnestありがとう私はxとyの両方でコメントを編集しました。 –

+0

最小限の例では、貼り付け、実行、エラーの取得、訂正、貼り付けを行うことができます。私は短い誤り訂正のためだけに完全なコードを書いているのではない。 MCVEを書くのに10分を費やすことができない場合、なぜ5分も費やす必要がありますか? – ImportanceOfBeingErnest

答えて

0

あなただけのあなたも、あなたのデータフレーム内のインデックスを持っていると仮定すると、次のように動作するはずその後、Yの最後の値を捨てることができるかどうか、つまり、あなたのCSVファイルを次のようになります。

0,-2.343060 
1,-2.445431 
2,-2.335754 
3,-2.478535 
4,-2.527026 

し、ロードされましたX=pandas.read_csv('x.csv')

ax.plot(X.as_matrix().T[1], Y.as_matrix().T[1][:-1]) 

のようになります。

あなたがあなたのコメントで述べたようにオーバーラップが異なります

ax.plot(X.as_matrix().T[1], Y.as_matrix().T[1][:len(x)]) 
+0

ああ、私はそれが私が使用しているデータセットの間で変わるかもしれないことを言及すべきだったと思います。だから私はそれに渡される余分なデータを無視するプロット(x、y)を持って離れて探しています。 –

+0

私はそれを私の答えに加えました、これはlen(y)> len(x)と仮定します。そうでなければ、最初にそれをチェックしなければなりません。 – Ewoud

+0

ああ、パンダでプロットするのは簡単だろう?それはこのすべてのものを世話しますか?私が求めているのは、xとyを変えて、非常に多くの異なるデータセットがあるからです。私はパンダに行くと自分の人生が楽になるのだろうかと思っています。 –

関連する問題