小编Guz*_*Guz的帖子

如何将极坐标中的持续时间转换为数字?

是否有任何内置函数polars或更好的方法通过定义时间分辨率(例如:天、小时、分钟)将持续时间转换为数字?

# Create a dataframe
df = pl.DataFrame(
    {
        "from": ["2023-01-01", "2023-01-02", "2023-01-03"],
        "to": ["2023-01-04", "2023-01-05", "2023-01-06"],
    }
)


# Convert to date and calculate the time difference
df = df.with_columns(
    [
        pl.col("from").str.strptime(pl.Date, "%Y-%m-%d").alias("from_date"),
        pl.col("to").str.strptime(pl.Date, "%Y-%m-%d").alias("to_date"),
    ]
).with_columns((pl.col("to_date") - pl.col("from_date")).alias("time_diff"))

# Convert the time difference to int (in days)
df = df.with_columns(
    ((pl.col("time_diff") / (24 * 60 * 60 * 1000)).cast(pl.Int8)).alias("time_diff_int")
)
Run Code Online (Sandbox Code Playgroud)

df

python datetime duration python-polars

8
推荐指数
1
解决办法
2898
查看次数

如何使用一些内置的包函数从 R 中的日期时间向量获取准确的季节(秋季、冬季、春季和夏季)?

我需要使用日期时间列获取数据集的确切季节(秋季冬季春季夏季"POSIXct" "POSIXt"

重要的是要考虑到季节取决于地球上的春分和至日,而且季节发生的确切时间会随着时间的推移以及纬度和经度位置而变化。因此,这并不像为所有年份的所有春分和至日定义相同的日期和时间那么简单。

下面的表格显示了多年来的这种变化:http://www.astropixels.com/ephemeris/soleq2001.html

R 包中有没有内置函数可以实现这一点?

下面是一个起点:

# Load packages
library(lubridate)
library(dplyr)

# Create dummy df with datetime col 
df <- data.frame(datetimes = seq(as.POSIXct("2016-01-01 00:00:00", tz = "UTC"),
                             as.POSIXct("2019-12-31 23:59:59", tz="UTC"),
                             by = "hour"))

# Calculate season in a fix position given by lon, lat pairs
df2 <- 
  df %>%
  mutate(season = datetimeToExactSeason(datetimes))
Run Code Online (Sandbox Code Playgroud)

datetime r astronomy lubridate

6
推荐指数
0
解决办法
618
查看次数

标签 统计

datetime ×2

astronomy ×1

duration ×1

lubridate ×1

python ×1

python-polars ×1

r ×1