python - 为什么groupby函数返回重复数据
问题描述
我正在测试 pandas.groupby 函数并生成了一个随机数据框
df = pd.DataFrame(np.random.randint(5,size=(6,3)), columns=list('abc'))
在随机情况下,df 是:
a b c
0 2 2 2
1 1 4 2
2 3 0 1
3 2 1 3
4 0 2 2
5 2 1 4
当我使用以下代码打印出 groupby 对象时,我得到了一些有趣的结果。
def func(x):
print(x)
df.groupby("a").apply(lambda x: func(x))
a b c
0 0 1 4
a b c
0 0 1 4
a b c
2 2 4 1
3 2 2 1
a b c
1 4 0 0
4 4 4 3
谁能让我知道为什么在这种情况下索引 0 出现两次?
解决方案
DataFrame.groupby.apply
对第一组进行两次评估,以确定其余组是否可以遵循快速计算路径。这种行为在最近的版本中已经改变,如这里pandas
讨论的那样
推荐阅读
- c# - Unity C# 编码类型
- python - 使用管道时 open() 与 os.open() 的行为
- angularjs - 使用 Azure AD SSO 时出现 CORS 问题
- c# - 如何压缩 4 个或更多数组
- django - Django 翻译:评估一个字符串是否是任何可用语言的翻译
- python-3.x - if not img==None: ValueError: 具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
- rust - 我可以从 Clap 的 arg 解析器中获得静态生命周期吗?
- scala - 在 WindowedStream 中查找 Top K 元素 - Flink
- c# - 从 Debug 切换到 Release 配置时未解决的引用
- python - Fuseki 服务器在哪里存储三重数据?