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

  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • JorteexHD

    JorteexHD

    20 NİSAN 2012
  • MotoManTV

    MotoManTV

    10 Aralık 2009