【发布时间】:2020-10-27 04:58:36
【问题描述】:
我有两个 csv 文件。
-
一个人有详细的数据
-
其他有每小时
-
两者具有相同的标题
我想在每分钟数据帧上运行每小时数据帧,以提取带有条件的某些条目:
-
过滤器 DF(每小时 DF)需要在时间上与它所在的文件匹配 在 mm/dd/yyyy 9:00 到每分钟 DF 中搜索 Ie 值 mm/dd/yyyy 9:59 使用每小时 DF 中 mm/dd/yyyy 9:00 的值作为 搜索条件。
-
过滤条件使用 3 个可变列 +- 每个列都有一定的范围。
-
选择的满足过滤器的数据被提取到另一个数据帧中,以后保存为csv
这听起来像是以前必须有人做过的事情!我自己知道一点熊猫,但只对数据帧做了简单的过滤器。
Df1 分钟数据
Date pressure temperature density
9/12/2014 9:00 177.859887 4.574663842 1028.477
9/12/2014 9:01 214.3598333 4.397781667 1028.66
9/12/2014 9:02 264.5863333 4.208137222 1028.905
9/12/2014 10:00 314.3161111 4.1242 1029.143
9/12/2014 10:01 363.8005587 4.02983352 1029.377
DF2 每小时数据
Date pressure temperature density
9/12/2014 9:00 170 4.0 1028
9/12/2014 10:00 368 4.2 1028.5
在上面的例子中,三个变量是压力、温度和密度。为简单起见,让我们尝试提取 DF1 中的第一行和第五行,以便我们的示例搜索条件
- 压力 +- 8
- 温度 +-.6
- 密度 +- 1
制作 DF3过滤数据
Date pressure temperature density
9/12/2014 9:00 177.859887 4.574663842 1028.477
9/12/2014 10:01 363.8005587 4.02983352 1029.377
我不完全知道如何处理这个问题。会是for循环吗?我不知道在哪里可以制作出优雅且制作精良的东西。
For idx in DF
For idx2 in DF2
if idx2 == date in idx and variable 1 +- range and variable 2 +- range and variable 3 +- range
print idx
when datetime (only hourly resolution) in idx ≠ datetime in idx2; idx +1
【问题讨论】:
标签: python pandas dataframe datetime filtering