如果数据框中没有数据,如何向现有数据框中添加新行 python pandas

How to add new rows to existing data-frame if there is no data in dataframe python pandas

如果 dataframe.In 我的数据框中没有数据,则需要向现有数据框中添加新行,如果上面的 mcahine 提供带有时间和状态的数据(On/off) 每 30 秒。但是机器关闭,数据框中没有数据。 df:

 Time                      Engine On/Off
2021-03-08 00:00:24+05:30   1
2021-03-08 00:00:54+05:30   1
2021-03-08 00:01:24+05:30   1
2021-03-08 00:01:54+05:30   1

ex:第一行 00:00:24 然后在 30 秒后,秒数据点 00:00:54.

如果下一个时间点数据不可用(当前状态 + 30 秒),我需要追加行。随着时间和引擎 On/Off 状态为 0.

使用由最小和最大日期时间生成的Series.reindex with date_range

print (df)
                        Time  Engine On/Off
0  2021-03-08 00:00:24+05:30              1
1  2021-03-08 00:01:24+05:30              1
2  2021-03-08 00:01:54+05:30              1

df['Time'] = pd.to_datetime(df['Time'])

r = pd.date_range(df['Time'].min(), df['Time'].max(), freq='30S')
df = df.set_index('Time')['Engine On/Off'].reindex(r, fill_value=0).reset_index()
print (df)
                      index  Engine On/Off
0 2021-03-08 00:00:24+05:30              1
1 2021-03-08 00:00:54+05:30              0
2 2021-03-08 00:01:24+05:30              1
3 2021-03-08 00:01:54+05:30              1