#エクセル内データの行列散布図を作成したい。
Excel内に11列(1列目はサンプル情報)のデータがあります(整然データとして保存)。データは数字と文字が混在しますが、同列内は数字か文字で統一されています。特定の条件を満たすデータに対して行列散布図を作成したいです。
#行ったこと
11列のうち2条件(sampleとarea)で絞込をかけたいため、query関数を2回行った後、seabornのpairplotを施行しました。
#入力コード
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
df = pd.read_excel('data.xlsx')
df2 = df.query('sample == "Milk"')
df3 = df2.query('area == "Dogo"')
pg = sns.pairplot(df3)
#エラーメッセージ
'float' object has no attribute 'dtype'
#試みたこと
#1)query前のデータでpairplotを試した。
pg = sns.pairplot(df)と入力すると問題なく実行できたことからqueryで抽出したデータに問題があると推測しました。
#2)astype(str)
floatタイプが問題であると考え、intやstrに変更するとstrに変更したときのみ実行できました。しかし、作成される散布図のx軸、y軸の数字が順番になっておらずわかりにくいです。
df = pd.read_excel('data.xlsx')
df2 = df.query('sample == "Milk"')
df3 = df2.query('area == "Dogo"')
df4 = df3.astype(str)
pg = sns.pairplot(df4)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。