Python 熊猫带着许多钥匙从旁边经过

Python 熊猫带着许多钥匙从旁边经过,python,pandas,Python,Pandas,事先道歉。我是Python/Pandas新手,所以这个问题可能提出得不好 我有一个数据框,大约有400万行,大约有10列 我想计算每个组的第一列(比如A)的平均值,该组由其他每列(比如B、C、D、E、F、G、H、I、J)的不同值定义。这定义了大约200000个组 我试过群比 mytest = df.groupby(['B','C','D', 'E', 'F', 'G', 'H', 'I', 'J']) mytest.mean() 这会导致Python抓取计算机上的所有内存(32GB)并崩溃。在

事先道歉。我是Python/Pandas新手,所以这个问题可能提出得不好

我有一个数据框,大约有400万行,大约有10列

我想计算每个组的第一列(比如A)的平均值,该组由其他每列(比如B、C、D、E、F、G、H、I、J)的不同值定义。这定义了大约200000个组

我试过群比

mytest = df.groupby(['B','C','D', 'E', 'F', 'G', 'H', 'I', 'J'])
mytest.mean()
这会导致Python抓取计算机上的所有内存(32GB)并崩溃。在Stata中,我可以在键入以下内容时获得所需的结果:

collapse A, by(B C D E F G H I J)
就像冠军一样

如何使用Pandas/Python执行相同的操作?非常感谢您的帮助。

我刚刚运行了这个

df = pd.DataFrame((np.random.rand(4000000, 10) * 10).astype(int),
                   columns=list('ABCDEFGHIJ'))

gb = df.groupby(list('BCDEFGHIJ'))

gb.mean()
没有问题。我也在一台32 GB的内存机器上。我已经使用了大量内存,但这并没有产生太大的影响。我猜问题是:

这定义了大约200000个组

我唯一能想到的另一件事是将groupby对象限制在
['A']
列。像这样:

gb = df.groupby(list('BCDEFGHIJ'))['A']
否则,您将不得不编写另一个算法。。。也许吧