python - 如何在数据框中以分钟/小时为单位读取时间以获取销售率?
问题描述
我有一个数据框,它的最小值为小时,例如 14:59,其中 60:00(最大值)为 1(小时)。
我尝试使用下面的代码读取此数据框,但出现错误“只能将 .dt 访问器与 datetimelike 值一起使用”
df['time sold'].dt.minute
我希望在阅读下面的日期后获得每分钟的销售率。我的数据是
Name Sales Time
Jame 603 14:59
Sam 903 34:00
Lee 756 34:55
有没有办法让每分钟卖出多少?
Name Sales Time Sale Rate
Jame 603 14:59 xxxx
Sam 903 34:00 yyyy
Lee 756 34:55 zzzz
请原谅 xyz 只是将它们用作占位符。
解决方案
首先添加 HH 以便能够将其转换为 pandas timedelta:
df['Time'] = '00:'+df['Time'].astype(str)
然后转换为 timedelta
df['Time'] = pd.to_timedelta(df['Time'])
然后创建一个等于每分钟销售额的新列
df['Sales Rate'] = df['Sales'] / (df['Time'].dt.total_seconds()/60)
输出:
Sales Time Sales Rate
Jame 603 00:14:59 40.2447
Sam 903 00:34:00 26.5588
Lee 756 00:34:55 21.6516
推荐阅读
- kubernetes - 是否可以在 k8s 中对同一个服务帐户进行多个角色绑定?
- python - PyTorch DataLoader -“IndexError:0 维张量的索引过多”
- javascript - 我收到一条错误消息,提示“您的日期值无效”
- javascript - 从“lib”导入 {fn1} 与从“lib”导入 fn1
- list - Racket - 给定两个自然数返回一个列表,其中包含 a 和 b 之间的所有数字
- javascript - 如何复制内容
- python - 神秘轴0和1方向
- r - 在 R 数据框列中提取部分字符串
- python - Gmail API 仅返回 1Mb 的数据
- c# - unity 2d 代码错误翻转敌人精灵(IA)代码?