اذهب إلى المحتوى

السؤال

نشر

لدي dataframe أقوم بانشاءها بالشكل التالي:

import numpy as np
import pandas as pd

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

وأريد أن أقوم باضافة عمود يقوم بحساب المتوسط كالتالي:

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

اذا قمت بعرضها تظهر بالشكل التالي:

In [1]: df
Out[1]:
          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

كيف أجعل المتوسط mean يصبح أول عمود بدل من كونه الخامس؟

Recommended Posts

  • 0
نشر

اذا قمت بعرض ترتيب الأعمدة يظهر بالترتيب التالي:


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

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

ويمكننا إعادة ترتيب الأعمدة كالتالي:

In [5]: cols = cols[-1:] + cols[:-1]  #اعادة ترتيب الأعمدة

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

لذا اذا قمنا بعرض الأعمدة بالترتيب الجديد تظهر بهذا الشكل:

In [9]: df = df[cols] 

In [10]: df
Out[10]:
       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

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...