2017-06-04 12 views
6

x軸としてdatetime64使用してregplot:Seabornは、私がデータフレームは、次のようになります持って

date   score 
2017-06-04 90 
2017-06-03 80 
2017-06-02 70 

私はこれを試してみました:

TypeError: reduction operation 'mean' not allowed for this dtype 

:私はエラーを得た

sns.regplot(x=date, y=score, data=df) 

日付のdtypeは datetime64[ns]、スコア列は int64です。

regplotが機能するように、date列をどのように変換できますか?

+0

受け入れられた回答も同様に投票してください。 – piRSquared

答えて

4

Seabornはregplotで日付時刻をサポートしていませんが、ここで醜いハックです:

df = df.sort_values('date') 
df['date_f'] = pd.factorize(df['date'])[0] + 1 
mapping = dict(zip(df['date_f'], df['date'].dt.date)) 

ax = sns.regplot('date_f', 'score', data=df) 
labels = pd.Series(ax.get_xticks()).map(mapping).fillna('') 
ax.set_xticklabels(labels) 

これは、時系列回帰で使用される主なアプローチである

enter image description here

を生成します。毎日のデータがある場合は、1日を1と指定し、日数が増えるにつれて数字を増やします。これは、あなたが定期的に間隔を置いた時系列を持っていると仮定します。

関連する問題