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
'''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)