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

在R语言中处理hms格式数据:转时分/按分钟取整及直方图绘制

嘿,我来帮你搞定这个按分钟区间统计前置时间频次的需求!你需要把hms格式的时间数据(比如1min10sec、1min47sec这类)统一归到对应的整数分钟区间,然后绘制直方图对吧?下面用两种常用工具(Python和R)给你具体实现方案:

Python实现方案(Pandas + Matplotlib)

步骤1:数据转换,把hms字符串转成整数分钟

首先我们要把带"min"和"sec"的字符串转换成只保留整数部分的分钟数,这样所有1分多的时间都会被归到1分钟区间:

import pandas as pd
import matplotlib.pyplot as plt

# 替换成你的实际数据
lead_times = pd.Series([
    '1min 10sec', '1min 10sec', '1min 10sec', '1min 10sec', '1min 10sec',
    '1min 10sec', '1min 10sec', '1min 10sec', '1min 10sec', '1min 10sec',
    '1min 47sec', '1min 47sec', '1min 47sec'
])

# 定义转换函数:提取分钟数,忽略秒数
def hms_to_int_min(hms_str):
    # 拆分出分钟部分并转成整数
    return int(hms_str.split('min')[0])

# 生成整数分钟列
lead_times_df = pd.DataFrame({
    'raw_time': lead_times,
    'lead_time_min': lead_times.apply(hms_to_int_min)
})

步骤2:统计频次并绘制直方图

接下来统计每个分钟区间的事件数,然后用直方图展示:

# 统计各分钟区间的频次,按分钟排序
frequency_stats = lead_times_df['lead_time_min'].value_counts().sort_index()

# 绘制直方图(用bar图更直观展示离散的分钟区间)
plt.figure(figsize=(8, 5))
plt.bar(frequency_stats.index, frequency_stats.values, width=0.8, color='#2ecc71')
plt.xlabel('前置时间(分钟)')
plt.ylabel('事件频次')
plt.title('前置时间事件频次分布')
plt.xticks(frequency_stats.index)  # 确保x轴显示所有存在的分钟区间
plt.grid(axis='y', alpha=0.3)
plt.show()

如果你的数据已经是Pandas的Timedelta类型,那转换更简单:

# 假设lead_times是Timedelta类型
lead_times_df['lead_time_min'] = lead_times.dt.total_seconds() // 60  # 总秒数取整为分钟
R语言实现方案(dplyr + ggplot2)

如果你习惯用R,也可以这样处理:

library(dplyr)
library(ggplot2)
library(stringr)

# 模拟你的数据,替换成实际数据
lead_times_df <- data.frame(
  raw_time = c(rep("1min 10sec", 10), rep("1min 47sec", 3))
)

# 提取整数分钟
lead_times_df <- lead_times_df %>%
  mutate(lead_time_min = as.integer(str_extract(raw_time, "\\d+(?=min)")))

# 绘制直方图
ggplot(lead_times_df, aes(x = lead_time_min)) +
  geom_histogram(binwidth = 1, stat = "count", fill = "#3498db", color="white") +
  labs(
    x = "前置时间(分钟)",
    y = "事件频次",
    title = "前置时间事件频次分布"
  ) +
  theme_minimal()

这样处理后,所有1分0秒到1分59秒的事件都会被归到1分钟区间,完美符合你的需求!

内容的提问来源于stack exchange,提问作者Juan Carlos Joaquin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:35:52