【发布时间】:2019-12-22 21:24:34
【问题描述】:
我正在尝试打印没有相应数据的日期间隔。例如,我想说我没有从 2008/04/28 22:00 到 2008/04/29 00:00 和从 2008/10/06 09:45 到 2008/10 记录的数据/06 10:15 等
这是我文件的一部分:
023004 2008/04/28 22:00 AR
023004 2008/04/28 22:15 AR
023004 2008/04/28 22:30 AR
023004 2008/04/28 22:45 AR
023004 2008/04/28 23:00 AR
023004 2008/04/28 23:15 AR
023004 2008/04/28 23:30 AR
023004 2008/04/28 23:45 AR
023004 2008/04/29 00:00 49.37
023004 2008/04/29 00:15 51.41
023004 2008/04/29 00:30 50.96
023004 2008/04/29 00:45 53.73
023004 2008/10/06 09:15 2.587
023004 2008/10/06 09:30 2.587
023004 2008/10/06 09:45 2.587
023004 2008/10/06 10:00 A
023004 2008/10/06 10:15 2.624
023004 2008/10/06 10:30 2.624
023004 2008/10/06 10:45 2.643
023004 2008/10/06 11:00 2.662
023004 2008/10/06 11:15 2.680
023004 2008/10/06 11:30 A
023004 2008/10/06 11:45 A
023004 2008/10/06 12:00 A
023004 2008/10/06 12:15 A
023004 2008/10/06 12:30 A
我试过这段代码:
fich = "test1.txt"
f = open(fich, "rb")
for line in f:
a = line.split()[3].isalpha()
if a == False:
print "valeur"
else:
print "Pas de valeur de precipitation du", line.split()[1], "a", line.split()[2], "h ", "au", line.split()[1], line.split()[2], "h "
但它没有给我我正在寻找的价值区间。它只是告诉我是否有数据。
我希望能够打印每个缺失数据区间的第一个和最后一个值。
【问题讨论】:
-
如果你把它带到一个数据框,并用每小时拆分重新采样,或者创建另一个索引值列表以左连接你当前的数据,你会得到给定日期时间的 NaN 值您想要显示的值没有任何数据。
-
我不需要查看给定日期时间的 nan 值,我想知道时间间隔(打印:您从 2008/04/28 22:00 到没有任何数据2008/04/29 00:00 和从 2008/10/06 09:45 到 2008/10/06 10:15 等。我想说:逐行读取文件,如果没有值:打印第一个非值对应的第一个日期,一直持续到有值。然后打印我没有任何数据的对应日期。
-
我相信这更容易,因为当你得到 NaN 时,你可以
groupby然后调用min和max作为你的间隔,所以你的最小值是2008/04/28 22:00和最大值 @ 987654327@这是我诚实的建议,因为我相信我会这样处理这种情况。编辑:不一定是最好的或唯一的方法,但它可能会完成工作。
标签: python file loops for-loop nan