我正在处理一个关于自动售货机的日志信息的CSV文件样本。(对熊猫来说是非常新的)。每天都会有人通过扫描瓶子上的二维码将饮料重新装入机器。我需要解决以下问题。
问:将所有饮料重新装入机器的总时间是多少?
你可以在下面找到我的示例代码和CSV文件样本。
import pandas as pd
filePath = '~/sample.csv'
df = pd.read_csv(filePath)
print(df.head(10))
关于每一列的类型的信息
df.dtypes
timestamp --> datetime64[ns]
event --> object
value --> object
以下是我解决这个问题的想法。
会有很多事件状态,但我只需要关注事件=='qc_scan'。
和值列=='已进入'或'已退出'(由于可能有一个值=='错误')。
因此,对于每个装载瓶的持续时间等于。
qc_scan_starttime = df[event == 'qc_scan' & value == 'Entered'] #corrsonpidng timestamp
qc_scan_endtime = df[event == 'qc_scan' & value == 'Exited'] #corrsonpidng timestamp
each_duration = qc_scan_endtime - qc_scan_endtime
然后循环浏览整个数据框,并将每个持续时间相加。
将持续时间保存为新的列名 "持续时间"(单位:分钟)。
最终保存为一个新的CSV文件,包含持续时间信息
但是,我不确定如何在CSV文件中使用python pandas写一个for循环。谁能给我提供一个示例代码?