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

如何在Python-Pandas DataFrame中批量移除时间列末尾的':00'

最优实现方案:处理时间列并绘制风速对比图

针对你的需求,我推荐两种高效的处理方式,具体选择取决于你的Time列的数据类型:

1. 如果Time列是字符串类型

最直接且性能最优的方法是使用字符串切片,直接移除最后3个字符(也就是:00)。这种方式不需要正则匹配,执行效率极高,尤其适合大数据量的场景:

import pandas as pd

# 假设你的数据框是df
df['Time'] = df['Time'].str[:-3]

比如原数据11:50:00会直接变成11:50,完全符合你的需求。

2. 如果Time列是datetime64类型

如果你的时间列已经被解析为Pandas的时间对象,更规范的做法是用时间格式化方法,确保输出格式稳定:

df['Time'] = df['Time'].dt.strftime('%H:%M')

这种方式会自动将时间格式化为小时:分钟,不管原始时间的秒数是多少,都能得到你想要的结果。


后续绘图(Matplotlib)

处理完时间列后,就可以直接绘制Time vs Measure的对比图了,这里给你一个示例代码:

import matplotlib.pyplot as plt

# 设置图表大小
plt.figure(figsize=(10, 6))
# 绘制折线图(可根据需求调整样式)
plt.plot(df['Time'], df['Measure'], marker='o', linestyle='-', color='steelblue')
# 添加标签和标题
plt.xlabel('Time')
plt.ylabel('Wind Speed')
plt.title('Wind Speed Variation Over Time')
# 旋转X轴标签,避免重叠
plt.xticks(rotation=45)
# 自动调整布局,防止标签被截断
plt.tight_layout()
# 显示图表
plt.show()

为什么字符串切片是最优选择?

当你的Time列是字符串且所有数据都以:00结尾时,切片操作是Pandas字符串处理中最快的方式——它不需要正则表达式的匹配开销,直接按字符位置截取,在数据量较大时性能优势非常明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:20:41