Excelのデータをjupyter notebook上で三次元以上でクラスタリングを試みています。
プログラミング初心者で学習中です。
現在Excelに入力したデータを傾向を調査するためにクラスタリングを行っています。
二次元までのクラスタリングは可能なのですが、三次元以上になるとエラーが出てしまい進めません。
発生している問題・エラーメッセージ
TypeError Traceback (most recent call last) <ipython-input-10-4e7c59ecc83b> in <module> 1 import matplotlib.pyplot as plt 2 get_ipython().run_line_magic('matplotlib', 'inline') ----> 3 plt.scatter(data1['商品数量計測時間'], data1['商品個数(%)'], data1['商品値段割引後(税込み)']) 4 plt.xlabel('price') 5 plt.ylabel('time to calculate & Quantity') ~\anaconda3\envs\OpenCV_Face\lib\site-packages\matplotlib\pyplot.py in scatter(x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, verts, edgecolors, plotnonfinite, data, **kwargs) 2893 verts=verts, edgecolors=edgecolors, 2894 plotnonfinite=plotnonfinite, -> 2895 **({"data": data} if data is not None else {}), **kwargs) 2896 sci(__ret) 2897 return __ret ~\anaconda3\envs\OpenCV_Face\lib\site-packages\matplotlib\__init__.py in inner(ax, data, *args, **kwargs) 1436 def inner(ax, *args, data=None, **kwargs): 1437 if data is None: -> 1438 return func(ax, *map(sanitize_sequence, args), **kwargs) 1439 1440 bound = new_sig.bind(ax, *args, **kwargs) ~\anaconda3\envs\OpenCV_Face\lib\site-packages\matplotlib\cbook\deprecation.py in wrapper(*inner_args, **inner_kwargs) 409 else deprecation_addendum, 410 **kwargs) --> 411 return func(*inner_args, **inner_kwargs) 412 413 return wrapper ~\anaconda3\envs\OpenCV_Face\lib\site-packages\matplotlib\axes\_axes.py in scatter(self, x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, verts, edgecolors, plotnonfinite, **kwargs) 4493 offsets=offsets, 4494 transOffset=kwargs.pop('transform', self.transData), -> 4495 alpha=alpha 4496 ) 4497 collection.set_transform(mtransforms.IdentityTransform()) ~\anaconda3\envs\OpenCV_Face\lib\site-packages\matplotlib\collections.py in __init__(self, paths, sizes, **kwargs) 951 """ 952 --> 953 super().__init__(**kwargs) 954 self.set_paths(paths) 955 self.set_sizes(sizes) ~\anaconda3\envs\OpenCV_Face\lib\site-packages\matplotlib\cbook\deprecation.py in wrapper(*inner_args, **inner_kwargs) 409 else deprecation_addendum, 410 **kwargs) --> 411 return func(*inner_args, **inner_kwargs) 412 413 return wrapper ~\anaconda3\envs\OpenCV_Face\lib\site-packages\matplotlib\collections.py in __init__(self, edgecolors, facecolors, linewidths, linestyles, capstyle, joinstyle, antialiaseds, offsets, transOffset, norm, cmap, pickradius, hatch, urls, offset_position, zorder, **kwargs) 200 self._uniform_offsets = None 201 if offsets is not None: --> 202 offsets = np.asanyarray(offsets, float) 203 # Broadcast (2,) -> (1, 2) but nothing else. 204 if offsets.shape == (2,): ~\anaconda3\envs\OpenCV_Face\lib\site-packages\numpy\core\_asarray.py in asanyarray(a, dtype, order) 134 135 """ --> 136 return array(a, dtype, copy=False, order=order, subok=True) 137 138 TypeError: float() argument must be a string or a number, not 'datetime.time'
該当のソースコード
python
1import pandas as pd 2from sklearn.datasets import load_iris 3 4data = pd.read_excel('data/4_prog.xlsx', sheet_name=2, index_col=0) 5data.head() 6 7import numpy as npy 8import matplotlib.pyplot as plt 9%matplotlib inline 10 11import matplotlib.pyplot as plt 12%matplotlib inline 13plt.scatter(data1['商品数量計測時間'], data1['商品個数(%)'], data1['商品値段割引後(税込み)']) 14plt.xlabel('price') 15plt.ylabel('time to calculate & Quantity') 16``` 17 18### 試したこと 19二次元ではうまくいっていたので多次元での書き方などを調べ、いくつか試してみたのですがダメでした。 20また、anaconda側のインストール内容もいくつか見てみましたが問題は判明しませんでした。 21 22 23### 補足情報(FW/ツールのバージョンなど) 24 25おそらく基礎的なところで詰まっていると思いますが、どうぞお手柔らかにご教授いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/19 18:33