【发布时间】:2019-01-15 12:31:53
【问题描述】:
我刚开始学习 pandas,所以我才刚刚起步。 :)
情况:
我有两个数据框(df1 和 df2)。
df1 包含一台机器的多个传感器数据。传感器每分钟传输一次数据。我以日期时间格式设置 df1 的索引(这实际上是传感器发送数据的日期和时间)。
df2 包含一个生产单元的数据,即单元 ID 号(在数据框中称为“Sarzs”)和流程开始和结束的日期时间以及该特定生产单元的输出质量。数据框不包含与该特定时间相关的生产单元的数据(在数据框中,您可以看到此阶段“Sarzs_no”列设置为 NaN)。生产单元的开始和停止日期和时间存储在“开始”和“停止”列中,并采用日期时间格式。
问题:
我想遍历 df1 的行和 df2 的行,并检查它们是否在 df2 的“开始”和“停止”时间之内(或之间),如果此语句为真,则更新 df1['Sarzs_no '] 值与
df2['Output'] 值。
目前的进展::
到目前为止,我已经编写了以下代码:
for i in range (0, len(df2.index)):
for j in range(0, len(df1.index)):
print (df1.index)
我基本上有两个问题:
- 如何实际编写过滤代码并进行更新?
- 难道没有(我猜应该是)一种更好的方法来进行过滤,然后遍历两个数据帧中的所有行,这似乎非常耗时,因此对我来说效率低下。
提前感谢您的帮助。
【问题讨论】:
-
欢迎来到 SO。请提供 minimal reproducible example。这意味着没有链接/图像,只有文本。
标签: python pandas datetime dataframe filter