如果数据框中没有数据,如何向现有数据框中添加新行 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
如果 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