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

DataFrame.sort_values排序后需手动重索引?是否为预期行为?

关于pandas中sort_values不自动重新索引的疑问

我有一组周期性的恒星流量时间序列,为此创建了包含时间列t和流量列f的DataFrame:

file: Path = localdir / file_path.csv
est_period: float = #number_I_estimated
df = DataFrame(file, names=['t','f'])
df['stack_t'] = df['t'] % est_period

stacked = df[['stack_t','f']].sort_values(by='stack_t')

我通过对时间序列t与估计周期执行取模%运算生成新列stack_t,并调用df.sort_values(by='stack_t')进行排序。

我发现DataFrame.sort_values(inplace=True)似乎不会为数据集重新索引:排序后,针对mask=stacked['stack_t']>somenumber的条件求f的最小值时,argmin(stacked[mask]['f'])返回的是原df的索引,而非排序后stacked的索引。

必须手动重新索引才能正常使用:

stacked = df[['stack_t','f']].sort_values(by='stack_t').reindex(range(0,len(df)))

请问这是预期行为吗?.sort_values已返回df的副本,为何副本未自动重新索引?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:32:06