Python学习笔记:数据框dataframe列反转

一、需求

例如有一个数据框列名分别为:a、b、c、d,要求转换为:d、c、b、a。

二、实操

  • 建立测试数据集
# 建立测试数据集
df = pd.DataFrame({'a':range(5),
                   'b':np.random.randn(5),
                   'c':np.random.randn(5),
                   'd':np.random.randn(5)
                   })
df
'''
   a      b      c      d
0  0 -1.470 -2.294 -0.012
1  1  0.709  1.100 -0.299
2  2  0.325  0.918  0.105
3  3 -0.679  0.822  1.488
4  4  1.120 -0.525  0.231
'''
  • 提取列名
# 提取列名
df_columns = df.columns.to_list() # ['a', 'b', 'c', 'd']

1.方法一

# 方法一:利用pop再insert
for i in range(df.shape[1]):
    # print(i)
    a = df_columns.pop(-1)
    b = df.pop(a)
    df.insert(i, a, b)
df
'''
       d      c      b  a
0 -0.012 -2.294 -1.470  0
1 -0.299  1.100  0.709  1
2  0.105  0.918  0.325  2
3  1.488  0.822 -0.679  3
4  0.231 -0.525  1.120  4
'''

2.方法二

# 方法二:直接反转、重新生成一个新的df
df_columns = df.columns.to_list()
df_columns.reverse()
df[df_columns]
'''
       d      c      b  a
0  0.869  0.087 -1.149  0
1  1.757 -1.277 -1.347  1
2 -0.640  0.418  0.619  2
3 -0.433 -1.526 -1.861  3
4 -1.415  2.196  0.451  4
'''
posted @   Hider1214  阅读(1047)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示