我試圖通過顛倒python中單元格的順序來思考一些表值
源表:
https://i.stack.imgur.com/CXcUq.png
我需要用每行的最大值反轉順序:
a行:
5 turns 1
4 turns 2
3 stays 3 *(for being the intermediary value)*
2 turns 4
1 turns 5
結果:
https://i.stack.imgur.com/UPED3.png
有什么功能可以做到這一點嗎?
資料框:
list_df = {'Order#1' : [5,8,np.nan], 'Order#2' : [4,6,1], 'Order#3' : [2,2,3], 'Order#4' : [1,1,2], 'Order#5' : [3,7,np.nan], 'Order#6' : [np.nan, 5, np.nan], 'Order#7' : [np.nan, 4, np.nan], 'Order#8' : [np.nan, 3, np.nan]}
df = pd.DataFrame(data=list_df)
uj5u.com熱心網友回復:
如果您有連續的值,您可以減去最大值并添加每行的最小值:
out = df.rsub(df.max(1), axis=0).add(df.min(1), axis=0)
輸出:
Order#1 Order#2 Order#3 Order#4 Order#5 Order#6 Order#7 Order#8
0 1.0 2.0 4.0 5.0 3.0 NaN NaN NaN
1 1.0 3.0 7.0 8.0 2.0 4.0 5.0 6.0
2 NaN 3.0 1.0 2.0 NaN NaN NaN NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/487600.html
上一篇:在Python中生成陣列陣列
