我有一个看起来像这样的 df
df = pd.DataFrame({'A' : ['1','2','3','7'],
'B' : [7,6,5,4],
'C' : [5,8,7,1],
'v' : [1,9,9,8]})
df=df.set_index('A')
df
B C v
A
1 7 5 1
2 6 8 9
3 5 7 9
7 4 1 8
我想对它进行排序,以便 B 列和 C 列分别显示两者的较低和较高的值,即
B C v
A
1 5 7 1
2 6 8 9
3 5 7 9
7 1 4 8
我可以在for
遍历每一行的循环中做到这一点,但我想知道是否有更好的方法来做到这一点?
如果性能是重要的用途numpy.sort
有axis=1
:
df[['B','C']] = np.sort(df[['B','C']], axis=1)
print (df)
B C v
A
1 5 7 1
2 6 8 9
3 5 7 9
7 1 4 8
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句