我有100列和200行。每个值均包含“ First”,“ Second”,“ King”或“ Queen”,并与其他随机字符串连接,并用_分隔。注意:所有这些都与其他值串联在一起。每行只有一个“第一”,但其他行可以有多个。
下面是一个示例:
我想根据我的条件重新排列每一行的值:
所需的输出:
我试图做一个for循环来迭代每一行,但是我不知道如何像我的要求那样切换值或替换。
答案 0 :(得分:2)
尝试:
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