重新排列行值

2024-06-02 07:30:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有100列和200行。每个值都包含“First”、“Second”、“King”或“Queen”,它们与其他随机字符串串联,并用\分隔。注意:所有这些值都与其他值连接在一起。每行有一次“First”,但其他行可以是多行。你知道吗

下面是一个例子:

enter image description here

我想根据我的条件重新排列每一行的值:

  • “First”必须始终位于第一列。你知道吗
  • “第二”必须在“第一”之后
  • “国王”必须在“第二”之后
  • “皇后”必须在“国王”之后

期望输出:

我试图做一个for循环来迭代每一行,但我不知道如何像我的要求那样切换值或替换。你知道吗

enter image description here


Tags: 字符串for条件例子firstsecondqueen国王
1条回答
网友
1楼 · 发布于 2024-06-02 07:30:19

尝试使用:

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

相关问题 更多 >