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

如何在R语言中调整数据集错位昼夜行以适配lag1操作

昼夜时序数据集行顺序调整方案

不用写循环,用分组排序的方法更高效,适合大型数据集,以下是两种常用工具的实现:

R(dplyr)

利用arrange()先按小时升序,同一小时内让Night排在Day前面:

library(dplyr)

# 假设你的数据集名为df
df_cleaned <- df %>%
  arrange(Hour, desc(Light))

原理:Night的首字母ASCII码大于Day,对Light降序排序会自动把Night放在同一小时的前面。

Python(Pandas)

先自定义Light的优先级,再按规则排序:

import pandas as pd

# 假设你的数据集名为df
# 定义Light的排序顺序:Night在前,Day在后
light_priority = pd.CategoricalDtype(categories=['Night', 'Day'], ordered=True)
df['Light'] = df['Light'].astype(light_priority)

# 按Hour升序、Light优先级排序
df_cleaned = df.sort_values(by=['Hour', 'Light'], ascending=[True, True])

两种方法都能快速完成整数据集的顺序调整,避免循环带来的性能损耗,调整后就能正常执行lag1操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 19:47:11