- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的数据集
customer_id timestamp
8893 2018-06-24 04:00:00
8894 2018-06-24 16:00:00
8894 2018-06-25 14:00:00
我的代码可以添加每组缺少的时间
geolocs = geolocs.set_index('timestamp').groupby('customer_id').apply(lambda x: x.asfreq('h'))
这是错误消息
ValueError Traceback (most recent call last)
<ipython-input-37-6ae38f2531da> in <module>()
----> 1 geolocs = geolocs.set_index('timestamp').groupby('customer_id').apply(lambda x: x.asfreq('h'))
~/anaconda3/lib/python3.6/site-packages/pandas/core/groupby.py in apply(self, func, *args, **kwargs)
714 # ignore SettingWithCopy here in case the user mutates
715 with option_context('mode.chained_assignment', None):
--> 716 return self._python_apply_general(f)
717
718 def _python_apply_general(self, f):
~/anaconda3/lib/python3.6/site-packages/pandas/core/groupby.py in _python_apply_general(self, f)
718 def _python_apply_general(self, f):
719 keys, values, mutated = self.grouper.apply(f, self._selected_obj,
--> 720 self.axis)
721
722 return self._wrap_applied_output(
~/anaconda3/lib/python3.6/site-packages/pandas/core/groupby.py in apply(self, f, data, axis)
1800 # group might be modified
1801 group_axes = _get_axes(group)
-> 1802 res = f(group)
1803 if not _is_indexed_like(res, group_axes):
1804 mutated = True
<ipython-input-37-6ae38f2531da> in <lambda>(x)
----> 1 geolocs = geolocs.set_index('timestamp').groupby('customer_id').apply(lambda x: x.asfreq('h'))
~/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in asfreq(self, freq, method, how, normalize, fill_value)
4513 from pandas.core.resample import asfreq
4514 return asfreq(self, freq, method=method, how=how, normalize=normalize,
-> 4515 fill_value=fill_value)
4516
4517 def at_time(self, time, asof=False):
~/anaconda3/lib/python3.6/site-packages/pandas/core/resample.py in asfreq(obj, freq, method, how, normalize, fill_value)
1372 dti = date_range(obj.index[0], obj.index[-1], freq=freq)
1373 dti.name = obj.index.name
-> 1374 new_obj = obj.reindex(dti, method=method, fill_value=fill_value)
1375 if normalize:
1376 new_obj.index = new_obj.index.normalize()
~/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in reindex(self, index, columns, **kwargs)
2731 def reindex(self, index=None, columns=None, **kwargs):
2732 return super(DataFrame, self).reindex(index=index, columns=columns,
-> 2733 **kwargs)
2734
2735 @Appender(_shared_docs['reindex_axis'] % _shared_doc_kwargs)
~/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in reindex(self, *args, **kwargs)
2513 # perform the reindex on the axes
2514 return self._reindex_axes(axes, level, limit, tolerance, method,
-> 2515 fill_value, copy).__finalize__(self)
2516
2517 def _reindex_axes(self, axes, level, limit, tolerance, method, fill_value,
~/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in _reindex_axes(self, axes, level, limit, tolerance, method, fill_value, copy)
2677 if index is not None:
2678 frame = frame._reindex_index(index, method, copy, level,
-> 2679 fill_value, limit, tolerance)
2680
2681 return frame
~/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in _reindex_index(self, new_index, method, copy, level, fill_value, limit, tolerance)
2688 return self._reindex_with_indexers({0: [new_index, indexer]},
2689 copy=copy, fill_value=fill_value,
-> 2690 allow_dups=False)
2691
2692 def _reindex_columns(self, new_columns, method, copy, level, fill_value=NA,
~/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in _reindex_with_indexers(self, reindexers, fill_value, copy, allow_dups)
2625 fill_value=fill_value,
2626 allow_dups=allow_dups,
-> 2627 copy=copy)
2628
2629 if copy and new_data is self._data:
~/anaconda3/lib/python3.6/site-packages/pandas/core/internals.py in reindex_indexer(self, new_axis, indexer, axis, fill_value, allow_dups, copy)
3884 # some axes don't allow reindexing with dups
3885 if not allow_dups:
-> 3886 self.axes[axis]._can_reindex(indexer)
3887
3888 if axis >= self.ndim:
~/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/base.py in _can_reindex(self, indexer)
2834 # trying to reindex on an axis with duplicates
2835 if not self.is_unique and len(indexer):
-> 2836 raise ValueError("cannot reindex from a duplicate axis")
2837
2838 def reindex(self, target, method=None, level=None, limit=None,
ValueError: cannot reindex from a duplicate axis
最佳答案
我认为每个组需要唯一的时间戳,因此可能的解决方案是对每个组进行聚合的resample
(而不是groupby
+ asfreq
)或删除重复项通过 drop_duplicates
每 2 列 - customer_id
和 timestamp
:
print (geolocs)
customer_id timestamp value
0 8893 2018-06-24 04:00:00 1 <-duplicated timespamp per group
1 8893 2018-06-24 04:00:00 7 <-duplicated timespamp per group
2 8894 2018-06-24 16:00:00 2
3 8894 2018-06-25 14:00:00 10
geolocs1 = geolocs.set_index('timestamp').groupby('customer_id').resample('h').sum()
print (geolocs1)
customer_id value
customer_id timestamp
8893 2018-06-24 04:00:00 17786 8 <- aggregation sum 1 + 7 = 8
8894 2018-06-24 16:00:00 8894 2
2018-06-24 17:00:00 0 0
2018-06-24 18:00:00 0 0
2018-06-24 19:00:00 0 0
2018-06-24 20:00:00 0 0
2018-06-24 21:00:00 0 0
2018-06-24 22:00:00 0 0
2018-06-24 23:00:00 0 0
2018-06-25 00:00:00 0 0
2018-06-25 01:00:00 0 0
2018-06-25 02:00:00 0 0
2018-06-25 03:00:00 0 0
2018-06-25 04:00:00 0 0
2018-06-25 05:00:00 0 0
2018-06-25 06:00:00 0 0
2018-06-25 07:00:00 0 0
2018-06-25 08:00:00 0 0
2018-06-25 09:00:00 0 0
2018-06-25 10:00:00 0 0
2018-06-25 11:00:00 0 0
2018-06-25 12:00:00 0 0
2018-06-25 13:00:00 0 0
2018-06-25 14:00:00 8894 10
<小时/>
geolocs = geolocs.drop_duplicates(['customer_id','timestamp'])
geolocs1 =geolocs.set_index('timestamp').groupby('customer_id').apply(lambda x: x.asfreq('h'))
print (geolocs1)
customer_id value
customer_id timestamp
8893 2018-06-24 04:00:00 8893.0 1.0 <-only first value
8894 2018-06-24 16:00:00 8894.0 2.0
2018-06-24 17:00:00 NaN NaN
2018-06-24 18:00:00 NaN NaN
2018-06-24 19:00:00 NaN NaN
2018-06-24 20:00:00 NaN NaN
2018-06-24 21:00:00 NaN NaN
2018-06-24 22:00:00 NaN NaN
2018-06-24 23:00:00 NaN NaN
2018-06-25 00:00:00 NaN NaN
2018-06-25 01:00:00 NaN NaN
2018-06-25 02:00:00 NaN NaN
2018-06-25 03:00:00 NaN NaN
2018-06-25 04:00:00 NaN NaN
2018-06-25 05:00:00 NaN NaN
2018-06-25 06:00:00 NaN NaN
2018-06-25 07:00:00 NaN NaN
2018-06-25 08:00:00 NaN NaN
2018-06-25 09:00:00 NaN NaN
2018-06-25 10:00:00 NaN NaN
2018-06-25 11:00:00 NaN NaN
2018-06-25 12:00:00 NaN NaN
2018-06-25 13:00:00 NaN NaN
2018-06-25 14:00:00 8894.0 10.0
关于python - 添加每组缺失的小时数时无法从重复轴重新索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51081736/
我通过 spring ioc 编写了一些 Rest 应用程序。但我无法解决这个问题。这是我的异常(exception): org.springframework.beans.factory.BeanC
我对 TestNG、Spring 框架等完全陌生,我正在尝试使用注释 @Value通过 @Configuration 访问配置文件注释。 我在这里想要实现的目标是让控制台从配置文件中写出“hi”,通过
为此工作了几个小时。我完全被难住了。 这是 CS113 的实验室。 如果用户在程序(二进制计算器)结束时选择继续,我们需要使用 goto 语句来到达程序的顶部。 但是,我们还需要释放所有分配的内存。
我正在尝试使用 ffmpeg 库构建一个小的 C 程序。但是我什至无法使用 avformat_open_input() 打开音频文件设置检查错误代码的函数后,我得到以下输出: Error code:
使用 Spring Initializer 创建一个简单的 Spring boot。我只在可用选项下选择 DevTools。 创建项目后,无需对其进行任何更改,即可正常运行程序。 现在,当我尝试在项目
所以我只是在 Mac OS X 中通过 brew 安装了 qt。但是它无法链接它。当我尝试运行 brew link qt 或 brew link --overwrite qt 我得到以下信息: ton
我在提交和 pull 时遇到了问题:在提交的 IDE 中,我看到: warning not all local changes may be shown due to an error: unable
我跑 man gcc | grep "-L" 我明白了 Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more inf
我有一段代码,旨在接收任何 URL 并将其从网络上撕下来。到目前为止,它运行良好,直到有人给了它这个 URL: http://www.aspensurgical.com/static/images/a
在过去的 5 个小时里,我一直在尝试在我的服务器上设置 WireGuard,但在完成所有设置后,我无法 ping IP 或解析域。 下面是服务器配置 [Interface] Address = 10.
我正在尝试在 GitLab 中 fork 我的一个私有(private)项目,但是当我按下 fork 按钮时,我会收到以下信息: No available namespaces to fork the
我这里遇到了一些问题。我是 node.js 和 Rest API 的新手,但我正在尝试自学。我制作了 REST API,使用 MongoDB 与我的数据库进行通信,我使用 Postman 来测试我的路
下面的代码在控制台中给出以下消息: Uncaught DOMException: Failed to execute 'appendChild' on 'Node': The new child el
我正在尝试调用一个新端点来显示数据,我意识到在上一组有效的数据中,它在数据周围用一对额外的“[]”括号进行控制台,我认为这就是问题是,而新端点不会以我使用数据的方式产生它! 这是 NgFor 失败的原
我正在尝试将我的 Symfony2 应用程序部署到我的 Azure Web 应用程序,但遇到了一些麻烦。 推送到远程时,我在终端中收到以下消息 remote: Updating branch 'mas
Minikube已启动并正在运行,没有任何错误,但是我无法 curl IP。我在这里遵循:https://docs.traefik.io/user-guide/kubernetes/,似乎没有提到关闭
每当我尝试docker组成任何项目时,都会出现以下错误。 我尝试过有和没有sudo 我在这台机器上只有这个问题。我可以在Mac和Amazon WorkSpace上运行相同的容器。 (myslabs)
我正在尝试 pip install stanza 并收到此消息: ERROR: No matching distribution found for torch>=1.3.0 (from stanza
DNS 解析看起来不错,但我无法 ping 我的服务。可能是什么原因? 来自集群中的另一个 Pod: $ ping backend PING backend.default.svc.cluster.l
我正在使用Hibernate 4 + Spring MVC 4当我开始 Apache Tomcat Server 8我收到此错误: Error creating bean with name 'wel
我是一名优秀的程序员,十分优秀!