Python 3.x 对dataframe中多个文本列的值进行排序
我有这样一个熊猫数据框:Python 3.x 对dataframe中多个文本列的值进行排序,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有这样一个熊猫数据框: A B C D E 0 apple banana orange 5 0.09 1 orange apple banana 10 4.0 2 banana orange apple 15 1.9 3 banana apple banana 20 2.8 我只想根据A、B、C列对每行的值进行排序,如下所示: 0 apple banana orange
A B C D E
0 apple banana orange 5 0.09
1 orange apple banana 10 4.0
2 banana orange apple 15 1.9
3 banana apple banana 20 2.8
我只想根据A、B、C列对每行的值进行排序,如下所示:
0 apple banana orange 5 0.09
1 apple banana orange 10 4.0
2 apple banana orange 15 1.9
3 apple banana banana 20 2.8
A B C D E F
0 apple banana orange 5 0.09 [b, g, r, l, n, a, p, e, o]
1 orange apple banana 10 4.0 [b, g, r, l, n, a, p, e, o]
2 banana orange apple 15 1.9 [b, g, r, l, n, a, p, e, o]
3 banana apple banana 20 2.8 [b, l, n, a, p, e]
我已经尝试了类似于df['F']=(df.A+df.B+df.C).map(set).map(list)
的解决方案,这样我可以创建一个新的列F,然后用拆分后的列表F的值替换A,B,C,但是它将我字符串的所有字母合并并创建一组,因此没有任何用处,如下所示:
0 apple banana orange 5 0.09
1 apple banana orange 10 4.0
2 apple banana orange 15 1.9
3 apple banana banana 20 2.8
A B C D E F
0 apple banana orange 5 0.09 [b, g, r, l, n, a, p, e, o]
1 orange apple banana 10 4.0 [b, g, r, l, n, a, p, e, o]
2 banana orange apple 15 1.9 [b, g, r, l, n, a, p, e, o]
3 banana apple banana 20 2.8 [b, l, n, a, p, e]
尝试:
或
输出:
A B C D E
0 apple banana orange 5 0.09
3 apple banana banana 20 2.80
2 apple banana orange 15 1.90
1 apple banana orange 10 4.00
仅供参考:
to_numpy()
是在pandas 0.24.0中添加的,因此它在pandas的早期版本中不起作用。对不起。。。。我应该提到这一点,您可以使用.values
。