海のヒートマップをプロットしようとするとエラーが発生します
TypeError:ufunc'isnan 'は入力タイプでサポートされておらず、キャストルール' 'safe' 'に従って、サポートされているタイプに入力を安全に強制変換できませんでした
私のコードは次のとおりです
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_table(r"C:\Results.CST", sep='\s+',header=11, engine = 'python')
df2 = cridim[['Bottom','Location_X','Location_Y',]] # Bottom , location X and Location Y are my column labels
df3 = df2.pivot('Location_X','Location_Y','Bottom') # create pivot table for results
plt.figure(figsize=(15,15))
pivot_table = df3
plt.xlabel('X',size = 10)
plt.ylabel('Y',size = 10)
plt.title('btm CD',size = 10)
sns.heatmap(pivot_table, annot=False, fmt=".1f", linewidths = 0.5, square = True, cmap = 'RdYlBu', vmin=2900, vmax = 3500)
plt.show()
私のデータは77行77列で構成されており、そのうち651のみがデータを持っており、他の空の座標はデータフレームで「なし」と示されています
海生ヒートマップがプロットできるデータの数に制限はありますか?
上記のエラーが発生する理由がわかりません。csvファイルに書き込んだのですが、問題ありません。
さらに、値を「0」と空の文字列に置き換えようとしましたが、それでもTypeerrorが返されます
私の場合、DataFrameにはNan
値がありませんでしたが、データ型はobject
型でした。私にとってうまくいったのは、df = df.astype(float)
を使用してデータを強制的に浮動させることでした。その後、海上ヒートマップを使用したプロットが可能になりました。