gpt4 book ai didi

python - 迭代订单以捕获和组织时间值

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:19 26 4
gpt4 key购买 nike

我有一个订单列表,“for”循环正在迭代该订单的下达次数列表。变量“ordertime”是存储时间的位置。我想使用“if”语句进行匹配,然后将其写入 pandas 中的相应列或值为“1”的 csv(即中午 12 点),然后获取某人的总次数在那个特定时间订购的。有没有更简单的方法来编译这个总数,也许使用列表?我不确定如何构建逻辑。以下是我到目前为止所拥有的。这一切都成功打印出来。按照目前的结构方式,我必须为中午 12 点、下午 1 点、下午 2 点等所有时间创建一个“if”语句。我确信有更好的方法。

    for time in orders: 
ordertime = time.text

ordertime = re.sub(':\d+', '', ordertime)

if ordertime == ("12 pm"):

print(ordertime)

else:
pass

最佳答案

我想我明白你想要达到的基本想法。下面的代码与您的代码类似,但命名更正确,并填充了所有缺失的部分,以便它可以运行。这就是 Minimal, Complete, and Verifiable Example 的含义。 。这会构建一个名为 ordertimes 的字典,它可以统计每个特定时间订购某物的次数:

import re
from collections import defaultdict

class Order:
def __init__(self, text):
self.text = text

orders = [
Order('9 am:12345'),
Order('4 pm:43434'),
Order('7 pm:45454'),
Order('11 am:33'),
Order('9 am:5454'),
Order('4 pm:6666'),
]

ordertimes = defaultdict(int)

for order in orders:

ordertime = order.text
ordertime = re.sub(':\d+', '', ordertime)
ordertimes[ordertime] += 1

for time in ordertimes:
print(time + ': ' + str(ordertimes[time]))

结果:

9 am: 2
4 pm: 2
7 pm: 1
11 am: 1

关于python - 迭代订单以捕获和组织时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56007287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com