Seabornのx値としてa pandas DataFrameのインデックスを使用すると、値エラーが発生します。小さなテスト例:
import pandas as pd
import seaborn as sns
sns.lineplot(x='index',y='test',hue='test2',data=pd.DataFrame({'test':range(9),'test2':range(9)}))
それが発生します:
ValueError: Could not interpret input 'index'
インデックスをx値として使用することはできませんか?私は何を間違えていますか? Python 2.7、seaborn 0.9
むしろこの方法で使用したいと思います。 hue
を削除する必要があるのは、1行しかないため、現在のDataFrameには適用されない別の目的があると思われるためです。詳細については、公式ドキュメント こちら をご覧ください。
df=pd.DataFrame({'test':range(9),'test2':range(9)})
sns.lineplot(x=df.index, y='test', data=df)
出力
x
引数に指定する文字列が、実際にはデータフレーム内のcolumnであることを確認する必要があります。これを達成する最も簡単な解決策は、データフレームのインデックスをリセットして、インデックスを列に変換することです。
sns.lineplot(x='index', y='test', data=pd.DataFrame({'test':range(9),'test2':range(9)}).reset_index())