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

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006