看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)实验日志中时长列以毫秒存储,需转换为分钟并保留 2 位小数,再筛选出等于或者超过 5 分钟的数据。
源数据:
import pandas as pd
df = pd.DataFrame({
'exp_id': ['E01', 'E02', 'E03'],
'duration_ms': [300000, 45000, 7200000] # 毫秒
})
print(df)
输出:
exp_id duration_ms
0 E01 300000
1 E02 45000
2 E03 7200000
要求:
pd.Timedelta(duration_ms, unit='ms')
将毫秒转为 Timedelta。duration_min
。duration_min >= 5
的记录,打印结果。期望结果:
exp_id duration_ms duration_min
0 E01 300000 5.00
2 E03 7200000 120.00
import pandas as pd
df = pd.DataFrame({
'exp_id': ['E01', 'E02', 'E03'],
'duration_ms': [300000, 45000, 7200000]
})
# 1. 转 Timedelta 再除 1 分钟
df['duration_min'] = (df.duration_ms.apply(pd.Timedelta, unit='ms')
/ pd.Timedelta(minutes=1))
# 2. 筛选
result = df[df['duration_min'] >= 5]
print(result)
输出:
exp_id duration_ms duration_min
0 E01 300000 5.00
2 E03 7200000 120.00
pd.Timedelta(value, unit='ms')
批量解析毫秒,再除以 Timedelta(minutes=1)
即可得到以分钟为单位的浮点数,实现频率单位从毫秒到分钟的快速转换与后续数值比较。
(完)
更新时间:2025-09-14 21:40:13 标签:pandas python 时长 频率