首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GroupBy带ffill删除组而不将组放在索引中

GroupBy带ffill删除组而不将组放在索引中
EN

Stack Overflow用户
提问于 2019-10-01 08:53:36
回答 1查看 988关注 0票数 7

自从我将代码从一台计算机移植到另一台计算机后,我就遇到了一个非常奇怪的问题。我在这个系统上使用的是熊猫版本0.25.1,但我不确定我以前使用的熊猫版本。

问题如下:

我创建了一个简单的、未排序的(模拟)数据格式,我希望对这些值进行排序,并将所有的NaN值向前填充。

代码语言:javascript
运行
复制
In [1]: import pandas as pd
   ...: import numpy as np

In [2]: test = pd.DataFrame({"group" : ["A", "A", "A", "B", "B", "B", "C", "C"],
   ...:                      "count" : [2, 3, 1, 2, 1, 3, 1, 2],
   ...:                      "value" : [10, np.nan, 30, np.nan, 19, np.nan, 25, np.nan]})

In [3]: test
Out[3]:
  group  count  value
0     A      2   10.0
1     A      3    NaN
2     A      1   30.0
3     B      2    NaN
4     B      1   19.0
5     B      3    NaN
6     C      1   25.0
7     C      2    NaN

但是,当我这样做时,我会丢失整个"group“列,并且它也不会出现在我的索引中。

代码语言:javascript
运行
复制
In [4]: test.sort_values(["group", "count"]).groupby("group").ffill()
Out[4]:
   count  value
2      1   30.0
0      2   10.0
1      3   10.0
4      1   19.0
3      2   19.0
5      3   19.0
6      1   25.0
7      2   25.0

我还尝试使用了下面的填充物,但这给了我同样的结果:

代码语言:javascript
运行
复制
In [5]: test.sort_values(["group", "count"]).groupby("group").fillna(method = "ffill")
Out[5]:
   count  value
2      1   30.0
0      2   10.0
1      3   10.0
4      1   19.0
3      2   19.0
5      3   19.0
6      1   25.0
7      2   25.0

有人知道我做错了什么吗?问题似乎与ffill方法有关,因为我可以在groupby上使用.mean()并保留分组。

EN

Stack Overflow用户

回答已采纳

发布于 2019-10-01 08:59:23

IICU,您必须使用“update`”将结果返回到dataframe

代码语言:javascript
运行
复制
test.update(test.sort_values(["group", "count"]).groupby("group").ffill())
print(test)

输出

代码语言:javascript
运行
复制
group   count   value
0   A   2   10.0
1   A   3   10.0
2   A   1   30.0
3   B   2   19.0
4   B   1   19.0
5   B   3   19.0
6   C   1   25.0
7   C   2   25.0
票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58181262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档