前提・実現したいこと
実際にまとめたい点列は下の図です。
X座標の小数第2位までの数値が同一の座標を1つにまとめたいと思っています。
また、他の点列にも応用したいので
X座標が小数第2位までの数値が同一の座標数が何個の場合でも
いちいち手動で調整をせずに自動的にまとめる事が出来ればと思っています。
該当のソースコード
とりあえず自分の力で書けるところまで書いてみたのが、下記のコードです。
実現したい内容を目指したコードとしてそもそも根本的に考え方が間違っている場合、
そこを指摘して頂けると助かります。
python
1import numpy as np 2import matplotlib.pyplot as plt 3 4X = [930.49374428, 930.49374864, 930.49376025, 930.49377914, 930.50016198, 930.50047003, 930.51001972, 930.51050733] 5Y = [0.00435079, 0.00435072, 0.00435065, 0.00435058, 0.00434775, 0.00434768, 0.00434594, 0.00434587] 6 7X1 = np.round(X, decimals=2) #X座標を小数第3位を四捨五入 8print(X1) 9 10X2 = [x for x in dict.fromkeys(X1) if X1.count(x) > 1] #重複要素の抽出(ここでエラー発生) 11print(X2) 12 13plt.plot(X1,Y) 14plt.show()
エラーメッセージ
上記のコードの段階で発生しているエラーです。
AttributeError Traceback (most recent call last) <ipython-input-28-ffe1ed729e18> in <module> 8 9 print(X1) ---> 10 print([x for x in dict.fromkeys(X1) if X1.count(x) > 1]) 11 12 plt.plot(X1,Y) <ipython-input-28-ffe1ed729e18> in <listcomp>(.0) 8 9 print(X1) ---> 10 print([x for x in dict.fromkeys(X1) if X1.count(x) > 1]) 11 12 plt.plot(X1,Y) AttributeError: 'numpy.ndarray' object has no attribute 'count'
補足情報(FW/ツールのバージョンなど)
windows 64bit
Anaconda
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/23 07:05