python - 具有非整数索引和 groupby 的 pandas DataFrame 应用
问题描述
我有以下DataFrame
非整数索引:
df = pd.DataFrame(index=[1.0,1.4,2,2.5], data={'a': ['a','b','a','b']})
a
1.0 a
1.4 b
2.0 a
2.5 b
当我做
df.groupby('a').apply(lambda x: 42)
我得到以下异常:
Traceback (most recent call last):
File "/opt/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2895, in get_loc
return self._engine.get_loc(casted_key)
File "pandas/_libs/index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 101, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 386, in pandas._libs.hashtable.Float64HashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 393, in pandas._libs.hashtable.Float64HashTable.get_item
KeyError: 0.0
如果我reset_index()
在分组之前,我会得到预期的结果:
df.reset_index().groupby('a').apply(lambda x: 42)
Out[130]:
a
a 42
b 42
dtype: int64
如何在不必重置索引的情况下对组进行分组并将函数应用于组?
对于它的价值,我使用 pandas 1.1.3。
解决方案
推荐阅读
- python - 在 Python 中,如何找到包含特定属性的元素?
- php - Group by 避免 order by
- javascript - firebase createUserWithEmailAndPassword 上的超时连接
- r - 尝试在 data.table 中使用 .SD
- python - discord.py bot rewrite AttributeError: 'Bot' object has no attribute 'send_message'
- android - 昏暗的安卓系统栏
- javascript - Angular router.redirect 不填充变量
- javascript - 路由组件何时初始化?
- python - 如何加快查找哪个图像像素颜色不在给定颜色列表中
- css - Bootstrap 4 导航栏上的下拉菜单