SORU
30 EKİM 2012, Salı


Nasıl DataFrame sütunların sırasını değiştirmek için?

Aşağıdaki DataFrame (df)ben:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(10, 5))

Daha fazla sütun(s) atama ile ekliyorum:

df['mean'] = df.mean(1)

Nasıl ön sütun mean taşıyabilirim, yani ilk sütun diğer sütunların bakir sırasını terk olarak ayarlayın.

CEVAP
30 EKİM 2012, Salı


Kolay bir şekilde sütunlar, gerektiğinde yeniden bir liste dataframe atamak olacaktır.

Bu şimdi ne var:

In [6]: df
Out[6]:
          0         1         2         3         4      mean
0  0.445598  0.173835  0.343415  0.682252  0.582616  0.445543
1  0.881592  0.696942  0.702232  0.696724  0.373551  0.670208
2  0.662527  0.955193  0.131016  0.609548  0.804694  0.632596
3  0.260919  0.783467  0.593433  0.033426  0.512019  0.436653
4  0.131842  0.799367  0.182828  0.683330  0.019485  0.363371
5  0.498784  0.873495  0.383811  0.699289  0.480447  0.587165
6  0.388771  0.395757  0.745237  0.628406  0.784473  0.588529
7  0.147986  0.459451  0.310961  0.706435  0.100914  0.345149
8  0.394947  0.863494  0.585030  0.565944  0.356561  0.553195
9  0.689260  0.865243  0.136481  0.386582  0.730399  0.561593

In [7]: cols = df.columns.tolist()

In [8]: cols
Out[8]: [0L, 1L, 2L, 3L, 4L, 'mean']

İstediğiniz herhangi bir şekilde cols yeniden düzenlemek. Bu birinci pozisyon için son öğe taşındım.

In [12]: cols = cols[-1:]   cols[:-1]

In [13]: cols
Out[13]: ['mean', 0L, 1L, 2L, 3L, 4L]

Sonra yeniden böyle dataframe:

In [16]: df = df[cols]  #    OR    df = df.ix[:, cols]

In [17]: df
Out[17]:
       mean         0         1         2         3         4
0  0.445543  0.445598  0.173835  0.343415  0.682252  0.582616
1  0.670208  0.881592  0.696942  0.702232  0.696724  0.373551
2  0.632596  0.662527  0.955193  0.131016  0.609548  0.804694
3  0.436653  0.260919  0.783467  0.593433  0.033426  0.512019
4  0.363371  0.131842  0.799367  0.182828  0.683330  0.019485
5  0.587165  0.498784  0.873495  0.383811  0.699289  0.480447
6  0.588529  0.388771  0.395757  0.745237  0.628406  0.784473
7  0.345149  0.147986  0.459451  0.310961  0.706435  0.100914
8  0.553195  0.394947  0.863494  0.585030  0.565944  0.356561
9  0.561593  0.689260  0.865243  0.136481  0.386582  0.730399

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006