逐行对数据框列进行排序

求救

我有一个看起来像这样的 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.sortaxis=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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章