パンダを使用して、日時を四半期と年で1つのインデックス列にグループ化するにはどうすればよいですか?
次の方法で日付をグループ化できますdf.groupby(by=[df.index.year, df.index.quarter])
。ただし、2つの列が作成されるため、時系列プロットを作成しようとするとエラーが発生し、これを修正する方法がわかりません。
次に例を示します。
df0 = pd.DataFrame({'date':['2016-1-1', '2016-4-1', '2016-7-1', '2016-10-1', '2017-1-1', '2017-4-1', '2017-7-1', '2017-10-1'],
'value':[32141,1234,2134,2134,1234,2134,213,1234]})
df0['date'] = pd.to_datetime(df0['date'], format="%Y-%m-%d")
df0.index = df0['date']
df0 = df0.groupby(by=[df0.index.year, df0.index.quarter]).sum()
df0
私はここで推測していますがtransform()
、行を維持するためにを適用しようとしているのかもしれません。この例を試してください:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame({
'dates':pd.date_range(start='2018-01-01', end='2018-12-31'),
'i': np.arange(365)
}).set_index('dates')
df.groupby(by=[df.index.year, df.index.quarter]).mean().plot(kind='bar')
df.groupby(by=[df.index.year, df.index.quarter]).transform('mean').plot()
戻り値:
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加