我有以下数据框:
Client Date Value_1 Value_2 Value_3 Apple Pear Kiwi Banana
ABC 2016-02-16 94 373 183 1739 38 19 73
Client
、Data
、Value_1
和Value_2
列头是静态的。但是,这些列中的值可以更改。你知道吗
Apple
、Pear
、Kiwi
和Banana
列标题是动态的。这些列中的值可以更改。你知道吗
我希望能够对数据帧进行排序,以便“color”列(在“value”列的右侧)按从高到低的顺序排列,如下所示:
Client Date Value_1 Value_2 Value_3 Apple Banana Pear Kiwi
ABC 2016-02-16 94 373 183 1739 73 38 19
我尝试了以下代码:
new_df = df.columns[5:].sort_values(ascending=False)
但是,这只是对列标题本身进行排序,而不是对这些列中的值进行排序。你知道吗
有人知道如何做到这一点吗?你知道吗
谢谢!你知道吗
您可以使用自定义函数:
另一种解决方案:
编辑byu更改的问题:
您需要为列创建新的顺序:
在这里,列名与列值一起
zip
,然后应用排序。zip(*[])
解压排序的列表并保留列名。 然后将其应用于数据帧:您还可以使用numpy对它们进行排序。你知道吗
相关问题 更多 >
编程相关推荐