用 NaN 填充日期间隙并插入 5 分钟分辨率数据
Fill date gap with NaN and interpolate 5 min resolution data
我正在使用 python 并且
我需要用 NaN 值填补日期空白,我的数据如下所示:
"Date & Time","High Temp - °C","Low Temp - °C"
"12/4/19 00:00","0.0","-0.1"
"12/4/19 00:05","-0.1","-0.1"
"12/4/19 00:10","0.1","-0.1"
"12/4/19 00:25","0.1","0.1"
"12/4/19 00:30","0.2","0.1"
我希望它们像这样:
"Date & Time","High Temp - °C","Low Temp - °C"
"12/4/19 00:00","0.0","-0.1"
"12/4/19 00:05","-0.1","-0.1"
"12/4/19 00:10","0.1","-0.1"
"12/4/19 00:15","NaN","NaN"
"12/4/19 00:20","NaN","NaN"
"12/4/19 00:25","0.1","0.1"
"12/4/19 00:30","0.2","0.1"
之后我想对数据进行插值以替换缺失值。
我试过的是:
#%%
from pathlib import Path
import pandas as pd
data=pd.read_csv(Path().joinpath('C:....d_data\..._data.csv'))
data['Date & Time']=pd.to_datetime(data['Date & Time'],format='%m/%d/%Y %hh:%mm')
data = data.sort_values(by=['Date & Time'], ascending=[True])
data.set_index('Date & Time', inplace=True)
print (data)
您可以resample
数据如下:
import pandas as pd
# reading the csv
df = pd.read_csv('test.csv',parse_dates=['Date & Time'],index_col=0)
# resampling the data for every 5 min
df = df.resample('5T').mean()
print(df)
输出:
Date & Time High Temp - °C Low Temp - °C
2019-12-04 00:00:00 0.0 -0.1
2019-12-04 00:05:00 -0.1 -0.1
2019-12-04 00:10:00 0.1 -0.1
2019-12-04 00:15:00 NaN NaN
2019-12-04 00:20:00 NaN NaN
2019-12-04 00:25:00 0.1 0.1
2019-12-04 00:30:00 0.2 0.1
我正在使用 python 并且 我需要用 NaN 值填补日期空白,我的数据如下所示:
"Date & Time","High Temp - °C","Low Temp - °C"
"12/4/19 00:00","0.0","-0.1"
"12/4/19 00:05","-0.1","-0.1"
"12/4/19 00:10","0.1","-0.1"
"12/4/19 00:25","0.1","0.1"
"12/4/19 00:30","0.2","0.1"
我希望它们像这样:
"Date & Time","High Temp - °C","Low Temp - °C"
"12/4/19 00:00","0.0","-0.1"
"12/4/19 00:05","-0.1","-0.1"
"12/4/19 00:10","0.1","-0.1"
"12/4/19 00:15","NaN","NaN"
"12/4/19 00:20","NaN","NaN"
"12/4/19 00:25","0.1","0.1"
"12/4/19 00:30","0.2","0.1"
之后我想对数据进行插值以替换缺失值。
我试过的是:
#%%
from pathlib import Path
import pandas as pd
data=pd.read_csv(Path().joinpath('C:....d_data\..._data.csv'))
data['Date & Time']=pd.to_datetime(data['Date & Time'],format='%m/%d/%Y %hh:%mm')
data = data.sort_values(by=['Date & Time'], ascending=[True])
data.set_index('Date & Time', inplace=True)
print (data)
您可以resample
数据如下:
import pandas as pd
# reading the csv
df = pd.read_csv('test.csv',parse_dates=['Date & Time'],index_col=0)
# resampling the data for every 5 min
df = df.resample('5T').mean()
print(df)
输出:
Date & Time High Temp - °C Low Temp - °C
2019-12-04 00:00:00 0.0 -0.1
2019-12-04 00:05:00 -0.1 -0.1
2019-12-04 00:10:00 0.1 -0.1
2019-12-04 00:15:00 NaN NaN
2019-12-04 00:20:00 NaN NaN
2019-12-04 00:25:00 0.1 0.1
2019-12-04 00:30:00 0.2 0.1