You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何独立对DataFrame的各列分别进行排序?

独立对DataFrame每列单独排序的方法

嘿,我懂你要的是让DataFrame里的每一列各自独立排序、互相不干扰的需求,这在Pandas里其实很容易实现,给你两种实用的方法:

方法一:使用apply()函数(最直观易懂)

首先先构造你给出的输入DataFrame:

import pandas as pd

# 构造输入数据
df = pd.DataFrame({
    'Column1': [61, 14, 26],
    'Column2': [5, 16, 27],
    'Column3': [9, 8, 7]
})

然后用apply()遍历每一列,对每列单独排序,同时重置索引避免原索引混乱:

# 对每列单独排序,互不影响
df_sorted = df.apply(lambda col: col.sort_values().reset_index(drop=True))

执行后得到的输出结果就是每列各自从小到大排序后的DataFrame:

Column1  Column2  Column3
0       14        5        7
1       26       16        8
2       61       27        9

方法二:使用numpy.sort()(大数据量更高效)

如果你的DataFrame数据量较大,用numpy的排序方法会更高效:

import numpy as np

# 对每列排序后重新转为DataFrame
df_sorted = pd.DataFrame(np.sort(df.values, axis=0), columns=df.columns)

这个方法直接对整个DataFrame的数值按列排序(axis=0表示按列操作),结果和方法一完全一致,速度上会更快一些。

简单说,两种方法都是让每一列的元素独立排序,不会因为某一列的排序改变其他列的元素顺序,完美匹配你的需求~

内容的提问来源于stack exchange,提问作者dbustosp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:19:02