python - squeeze = True 在groupby中做什么?

标签 python pandas dataframe

我发现文档说如果可能的话减少返回类型的维度,否则返回一个一致的类型。

df = pd.DataFrame(
     {'a': np.ones(4, dtype='float32'),
     'b': np.ones(4, dtype='float32'),
     'c': np.zeros(4, dtype='float32')})

df.groupby(df4.index,squeeze=True)['b'].sum()

无论有没有挤压,我都看不到任何变化。有人能解释一下 squeeze = True 的真正目的以及为什么它默认设置为 false

最佳答案

经过一些研究,如果可能的话,它被用来降低维度。 @Jeff 在 github 中展示的一个例子说明了为什么使用 exactly squeeze。它在问题 here 中说明.

df1 = pd.DataFrame(dict(A = range(4), B = 0))

def func(dataf):
    return pd.Series({ dataf.name : 1})


result1 = df1.groupby("B",squeeze=False).apply(func)
   0
B   
0  1
type(result1)
pandas.core.frame.DataFrame

result2 = df1.groupby("B",squeeze=True).apply(func)

B   
0  0    1
Name: 0, dtype: int64

type(result2)
pandas.core.series.Series

如果可能的话,Squeeze 会尽量减少维度。如您所见,上面的数据框可以缩减为系列,因此它是通过挤压参数完成的。使用挤压的情况非常少。

关于python - squeeze = True 在groupby中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48298931/

相关文章:

python - 删除以开头的列

scala - 如何将DataFrame中的struct映射到case类?

python - 在 python 循环中从交替文件打印行

python - 如何使用 Selenium(在 Python 中)移动范围输入?

python - 如何在Python中绘制程序的持续时间

python - 限制 groupby Pandas 的行数

python - 在同一列上多次调用 Pandas df.sort_values() 会产生不同的结果?

Python requests-html session GET 正确用法

python - 从 Python 类外部的函数引用定义的变量

python-2.7 - 我正在尝试在 Python 中的 statsmodels 中运行 Dickey-Fuller 测试,但出现错误