python - 改组 Pandas 数据框列
问题描述
我需要洗牌数据框列。目前我这样做:
import random
import pandas as pd
import numpy
df = pd.DataFrame(numpy.random.rand(1,5))
print (df)
df_as_list = df.values.tolist()[0]
random.shuffle(df_as_list)
df_shuffled = pd.DataFrame(df_as_list).transpose()
print (df_shuffled)
前:
0 1 2 3 4
0 0.472918 0.261734 0.987053 0.921826 0.144114
后:
0 1 2 3 4
0 0.472918 0.921826 0.987053 0.144114 0.261734
所以它可以完成这项工作,但必须有更好的方法来做到这一点。有任何想法吗?
解决方案
有点不同的方式:
cols = list(df.columns.values)
random.shuffle(cols)
df.columns = cols
推荐阅读
- docker - Sed 变量替换在 dockerfile 中不起作用
- azure - Azure DevOps az cli 从管道以用户身份登录
- amazon-web-services - 我正在尝试使用 aws cli 标记我的 AWS 粘合作业,其中键名是“My key”,值是“job1”,键名将是“My key”
- swift - 存在 NavigationView 时,SwiftUI macOS 无法更改主菜单
- react-native - 反应本机密码显示隐藏
- python - python ABC & 多重继承
- c# - 当用户在带有 Angular 应用程序的 .NET Core 3 中使用 Serilog 登录系统时,如何插入日志条目
- jenkins-pipeline - Jenkins 流水线和条件阶段
- node.js - Next Js 找不到下一个模块
- google-sheets - 谷歌表格打印卡在“发送到 chrome print”