我正在尝试使用 pandas TimeGrouper 创建一些日期的频率表,但是它返回错误

Posted

技术标签:

【中文标题】我正在尝试使用 pandas TimeGrouper 创建一些日期的频率表,但是它返回错误【英文标题】:I'm trying to create a frequency table of some dates with pandas TimeGrouper however it returns error 【发布时间】:2019-09-15 03:05:12 【问题描述】:

我正在尝试通过 pandas TimeGrouper 从某些日期创建频率表,但收到以下错误

输入:

t = pd.to_datetime(t)

t = pd.Series(t)

t

输出:

0   2019-04-10 10:49:00

1   2019-04-10 10:49:00

2   2019-04-10 10:49:00

3   2019-04-10 10:49:00

4   2019-04-10 10:49:00

5   2019-04-10 10:48:00

6   2019-04-10 10:48:00

7   2019-04-10 10:48:00

8   2019-04-10 10:48:00

9   2019-04-10 10:48:00

Name: tweet.created_at, dtype: datetime64[ns]

输入:

t.groupby(pd.core.resample.TimeGrouper('H').count().plot(kind='bar'))

输出:

Error: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'

【问题讨论】:

'TimeGrouper' 已弃用。 ***.com/a/39186403/6361531 嗯。现在我浏览了你的链接并使用了这个: t.groupby(pd.Grouper(freq='H')).count().plot() 再次出现同样的错误 【参考方案1】:

我用这个技巧来绕过:

t.reset_index().set_index(t.name).resample('H').count().plot()

【讨论】:

嗯。它返回以下错误:return self._engine.get_loc(key)。关键错误:1 对不起,那是因为t 有不同的名字,试试set_index('tweet.created_at') 而不是set_index(1) 或更一般的set_index(t.name) 1.我和中国没有任何关系。 2.如果可行,请考虑投票并接受答案:-)。 1.越南万岁* 2. 当然,兄弟。我投了但是因为我的等级还不高,网站说我的票会考虑但不显示。再次感谢!

以上是关于我正在尝试使用 pandas TimeGrouper 创建一些日期的频率表,但是它返回错误的主要内容,如果未能解决你的问题,请参考以下文章

Python:Pandas:加速应用函数

由于额外的列值,尝试使用 pandas Python 读取 csv 时出错

尝试使用 TimeSeriesGenerator 时 Pandas 出现关键错误

使用 Pandas 从 URL 读取嵌套 JSON

VM中Panda_gbq导入错误(谷歌云平台虚拟机)

使用 python 将 pandas 数据框导入 MS Access 表