【发布时间】:2019-09-09 13:05:44
【问题描述】:
[Here is how my last data from my dataframe and at the end errors which are occuring]我正在打印特定范围内的数据。比如now + 200 sec,所以这里我打印的是200秒后的数据。
我尝试了一个while循环,即在时间日期+200秒内打印数据。但是最后如果数据的时间小于 date+200 秒 ,它会引发错误“单个位置索引器超出范围”
file = pd.read_hdf('KazSTSAT5.h5', mode = 'r', index_col = 'time')
df = pd.DataFrame (file)
df['time'] = pd.to_datetime(df['time'],unit='s')
initial_size = df.size
while True:
df['time'] = pd.to_datetime(df['time'],unit='s')
pd.set_option('display.max_rows', -1)
#first date in dataframe
first_datetime = df.iloc[1, 1]
#date range 200 sec
i = pd.date_range(first_datetime, periods=200, freq='S')
b = df.loc[(df.time >= i[0]) & (df.time <= i[-1])]
c = pd.concat([df, b, b]).drop_duplicates(keep=False)
size = c.size
initial_size = size
df = c
如果时间小于日期+200 秒,如何获得结果?所以它只需要保存 dataleft 中的内容。
【问题讨论】:
-
你能发一个
df的样张吗? -
您好,根据您的变量名,您想在
first_datetime = df.iloc[1, 1]中设置第一个条目,但您实际上使用了第二行(.loc[0, 1]将是第一行的第二列)。这是故意的吗? -
你打算用
pd.concat([df, b, b]).drop_duplicates(keep=False)做什么?我猜你连接的第二个b稍后会因为drop_duplicates而被完全删除,还是我错过了什么? -
@Aryerez 我上传了
-
@jottbe 据我所知,它从原始日期帧中获取请求的数据,并在没有请求数据的情况下创建新的数据