小编oam*_*mon的帖子

pandas groupby导致keyerror

我正在尝试将每月时间序列数据转换为季度,然后每季度汇总总和.当我运行以下内容时,我得到一个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)

pandas

5
推荐指数
1
解决办法
4296
查看次数

在 matplotlib pyplot 中绘制周期系列

我正在尝试使用 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)

matplotlib pandas timeserieschart

2
推荐指数
1
解决办法
1万
查看次数

Seaborne Bar Plot Median Estimator Error

当我使用中位数估算器绘制一个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)

pandas seaborn

1
推荐指数
1
解决办法
1483
查看次数

标签 统计

pandas ×3

matplotlib ×1

seaborn ×1

timeserieschart ×1