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

  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012
  • Migs351

    Migs351

    3 HAZİRAN 2007
  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010