2016-05-06 5 views
1

事前にお詫び申し上げます。私はPython/Pandasの新機能ですので、この質問はおそらく貧弱です。多くの鍵でパンダが困っている

私は約4百万行と約10列のデータフレームを持っています。

他の各列の異なる値(たとえば、B、C、D、E、F、G、H、Iなど)によって定義される各グループの最初の列J)。これは約200,000のグループを定義します。

私はgroupbyを試しました。

mytest = df.groupby(['B','C','D', 'E', 'F', 'G', 'H', 'I', 'J']) 
mytest.mean() 

これにより、コンピュータ上のすべてのメモリ(32GB)を取得してクラッシュします。スタータでは、次のように入力すると希望の結果が得られます。

collapse A, by(B C D E F G H I J) 

チャンピのようです。

Pandas/Pythonを使用して同じ操作を行う方法はありますか?どんな助けでも大歓迎です。

答えて

1

私は問題なくこの

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

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

gb.mean() 

を走りました。私も32GBのmemマシンに乗っています。私はすでにたくさんの記憶を使ってきましたが、これは大きな影響はありませんでした。私は問題を推測しています:

これは、約200000のグループを定義します。

私が考えることができる唯一のものは、groupbyオブジェクトを['A']列に限定することです。このように:

gb = df.groupby(list('BCDEFGHIJ'))['A'] 

それ以外の場合は、別のアルゴリズムを記述する必要があります。

関連する問題