質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

552閲覧

複数のcsvファイルを読み込み、散布図にする方法

masukin

総合スコア34

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/11/05 12:51

やりたいこと

3つのCSVファイルを読み込んで、散布図にしたいのですが、
下記のとおりのエラーコードが出て、進めません。
何が起こっているのか、よろしければ教えてください。

プログラム

df2 = pd.read_csv('2.csv', header=None, delim_whitespace=True, decimal=',')|列1|列2|列3| input2 = df2.loc[:,0] output2 = df2.loc[:,1] df3 = pd.read_csv('3.csv', header=None, delim_whitespace=True, decimal=',') input3 = df3.loc[:,0] output3 = df3.loc[:,1] df4 = pd.read_csv('.csv', header=None, delim_whitespace=True, decimal=',')|列1|列2|列3| input4 = df4.loc[:,0] output4 = df4.loc[:,1] #x = np.linspace(-6,6,1000) ax.scatter(input2, output2) ax.scatter(input3, output3) ax.scatter(input4, output4) ax.set_xlabel('x') ax.set_ylabel('y') ax.grid(True) fig.show()

エラーコード

'the label [1] is not in the [columns]'

csvの中身はこのように小数を含んでおり、これが少しややこしいのかなと思っています。
散布図のx軸はx_2, y軸はy_2にしたいです。

  X_2Y_2
00-0.312989024
10.333333333-0.289568099
20.666666667-0.299573323
31-0.307207629
41.333333333-0.297999023
51.666666667-0.308963661
62-0.307261145
72.333333333-0.240738637
82.666666667-0.259762378
93-0.270003156
103.333333333-0.26389358

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決ではないですが、質問の解答としてまとめを書いておきたいと思います。

data1 = pd.read_csv("1.csv") data2 = pd.read_csv("2.csv") data3 = pd.read_csv("3.csv") X1 = data1['X_1'] Y1 = data1['Y_1'] X2 = data2['X_2'] Y2 = data2['Y_2'] X3 = data3['X_3'] Y3 = data3['Y_3'] plt.scatter(X1,Y1,edgecolor='black',color='red',label='Y_1') plt.scatter(X2,Y2,edgecolor='black',color='blue',label='Y_2') plt.scatter(X3,Y3,edgecolor='black',color='yellow',label='Y_3') #plt.title('sample') plt.xlabel('time') plt.ylabel('data') plt.grid(True) plt.legend(bbox_to_anchor=(1, 1)) # データ群を表すラベルをグラフの外側に表示 plt.show()

このようにすれば複数のcsvファイルのデータをもとに
ヘッダーを参照してグラフ化できました。

投稿2018/11/06 05:43

編集2018/11/06 05:50
masukin

総合スコア34

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

3.csv1列しか持っていないと提示エラーが発生します。2列(以上)ある適切なCSVファイルを読み込んでください。

Python

1import pandas as pd 2df3 = pd.DataFrame([[5.1],[6.1]]) # 1列のみ 3print(df3) 4input3 = df3.loc[:,0] 5output3 = df3.loc[:,1] # KeyError: 'the label [1] is not in the [columns]'

発生エラー

Traceback (most recent call last): File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 1790, in _validate_key error() File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 1785, in error axis=self.obj._get_axis_name(axis))) KeyError: 'the label [1] is not in the [columns]' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\user\Desktop\hoge.py", line 9, in <module> output3 = df3.loc[:,1] File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 1472, in __getitem__ return self._getitem_tuple(key) File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 870, in _getitem_tuple return self._getitem_lowerdim(tup) File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 998, in _getitem_lowerdim section = self._getitem_axis(key, axis=i) File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 1911, in _getitem_axis self._validate_key(key, axis) File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 1798, in _validate_key error() File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\indexing.py", line 1785, in error axis=self.obj._get_axis_name(axis))) KeyError: 'the label [1] is not in the [columns]'

なお、ソースコードはできるだけ現象が再現する最小コードを省略せずにそのまま記載ください。
各回答者側はたいていの場合、質問コードを実行してエラーの再現有無を確認しています。
省略されたコードだと、補完する手間が発生してしまいます。
また、エラーメッセージは全文記載ください。エラー発生行やその意味(KeyError)など問題解決のために必要な情報を含んでいるので。

投稿2018/11/05 20:22

can110

総合スコア38262

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masukin

2018/11/06 05:38

有り難うございます。 読み込む先のcsvのデータがおかしかったです。助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問