【发布时间】:2020-04-19 08:59:53
【问题描述】:
我想遍历一个数据帧记录,如下伪代码:
for index, row in records.iterrows():
process(row[index-1]['Expected Time'], row[index]['Actual Time'])
其中process是一个函数,其逻辑是比较当前记录的“实际时间”和上一行的“预期时间”。
上面的代码不起作用,因为作为元组的行不允许通过带有空格的字符串进行访问。相反,我必须将列/字段的索引用于名称包含空格的那些。 这是一种硬代码,不是很容易维护。
不知道有没有更好的解决方案?
或者,是否可以遍历一对数据帧,如以下伪代码:
current_df = records[1:]
previous_df = records[:-1]
for current_record, previous_record in (current_df, previous_df):
process(previous_record['Expected Time'], current_record['Actual Time'])
使用相同的数据框,一个删除了第一行,另一个删除了最后一行。它在同一索引处比较当前行和上一行。
如何在 Python 中实现上述目标?
【问题讨论】:
-
您在寻找
Series.shift吗?