python - 重新排列行值
问题描述
我有 100 列和 200 行。每个值包含与其他随机字符串连接的“First”、“Second”、“King”或“Queen”,并用_分隔。注意:所有这些都与其他值连接。每行都有一次“First”,但其他行可以是多个。
下面是一个例子:
我想根据我的条件重新排列每一行的值:
- “第一”必须始终位于第一列。
- “第二”必须在“第一”之后
- “国王”必须在“第二”之后
- “女王”必须在“国王”之后
期望的输出:
我试图做一个 for 循环来迭代每一行,但我不知道如何像我的要求一样切换值或替换。
解决方案
尝试:
l=['First','Second','King','Queen']
d=dict(zip(l,range(len(l))))
#{'First': 0, 'Second': 1, 'King': 2, 'Queen': 3}
df=pd.DataFrame(np.sort(df.replace(d),axis=1),columns=df.columns,
index=df.index).replace({v:k for k,v in d.items()})
print(df)
A B C ETC
1 First Second Second Second
2 First Second Second King
3 First Second King Queen
ETC First Second Second King
推荐阅读
- spring-batch - onWriteError 不适用于 MongoItemWriter
- azure - Azure Key Vault 的 MSI 身份验证无法在本地使用 VS 2017 和 IISExpress
- rest - 使用 Pyspark 执行 POST REST 请求
- git - 将文件夹移动到另一个 git 存储库并保留历史记录
- svn - Svn:合并分支和主干上的目录更改
- node.js - 可以看到终端输出,但无法使用 shell 重定向器将其保存到文件中
- package - Ballerina:推送包裹时找不到包裹
- android - 为什么我的项目无权使用 API 密钥?
- azure-cosmosdb - Gremlin 查询到 groupcount 边缘,并返回最大/最近日期以及标识符
- c# - WPF MVVM GridView 将单元格值绑定到 ViewModel 属性