我正在尝试将每月时间序列数据转换为季度,然后每季度汇总总和.当我运行以下内容时,我得到一个KeyError:'date'.
abc= abc.set_index('date').to_period('Q').groupby(['origin',
'date']).agg(sum)
Run Code Online (Sandbox Code Playgroud)
但是,当我重置索引,如下所示,代码工作.为什么我需要重置索引才能在origin和date字段中使用groupby?有没有办法在不重置索引的情况下进行分组?
abc= abc.set_index('date').to_period('Q').reset_index().groupby(['origin',
'date']).agg(sum)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 matplotlib.pyplot 按季度绘制时间序列收入数据,但一直出现错误。下面是我的代码和错误所需的行为是使用 matplotlib 按季度绘制收入数据。当我尝试这样做时,我得到:
TypeError: Axis must have频率set to convert to Periods
是因为无法在 matplotlib 中绘制以句点表示的时间序列日期吗?下面是我的代码。
def parser(x):
return pd.to_datetime(x, format='%m%Y')
tot = pd.read_table('C:/Desktop/data.txt', parse_dates=[2], index_col=[2], date_parser=parser)
tot = tot.dropna()
tot = tot.to_period('Q').reset_index().groupby(['origin', 'date'], as_index=False).agg(sum)
tot.head()
origin date rev
0 KY 2016Q2 1783.16
1 TN 2014Q1 32128.36
2 TN 2014Q2 16801.40
3 TN 2014Q3 33863.39
4 KY 2014Q4 103973.66
plt.plot(tot.date, tot.rev)
Run Code Online (Sandbox Code Playgroud) 当我使用中位数估算器绘制一个seaborn barplot时,我得到以下错误.似乎适用于其他估算师(例如总和).我错过了什么?
j = sns.barplot(x='category', y='sales', data=perf, estimator=median)
for item in j.get_xticklabels():
item.set_rotation(90)
plt.show()
NameError: name 'median' is not defined
Run Code Online (Sandbox Code Playgroud)