如何在所需索引处的pandas数据框中插入新行

时间:2016-09-19 18:46:11

标签: python pandas dataframe nan resampling

我有一个缺少日期的数据框

print data 

Date  Longitude  Latitude  Elevation  Max Temperature  \
4/11/1979  83.75  24.197701       238     44.769           20.007   
4/12/1979  83.75  24.197701       238     41.967           18.027   
4/13/1979  83.75  24.197701       238     43.053           20.549    
4/15/1979  83.75  24.197701       238     40.826           20.189

如何在4/14/1979

插入4th

打印数据

Date  Longitude  Latitude  Elevation  Max Temperature  \
4/11/1979  83.75  24.197701       238     44.769           20.007   
4/12/1979  83.75  24.197701       238     41.967           18.027   
4/13/1979  83.75  24.197701       238     43.053           20.549
4/14/1979  0.0    0.0             0       0.0              0.0
4/15/1979  83.75  24.197701       238     40.826           20.189

1 个答案:

答案 0 :(得分:4)

首先转换列Date to_datetime,然后转换set_index进行重新采样。

您可以D使用resampledays)然后填写NaN0,一个有效的解决方案是replace({np.nan:0})

df['Date'] = pd.to_datetime(df.Date)
df.set_index('Date', inplace=True)

df = df.resample('D').replace({np.nan:0}).reset_index()
print (df)
        Date  Longitude   Latitude  Elevation     Max  Temperature
0 1979-04-11      83.75  24.197701      238.0  44.769       20.007
1 1979-04-12      83.75  24.197701      238.0  41.967       18.027
2 1979-04-13      83.75  24.197701      238.0  43.053       20.549
3 1979-04-14       0.00   0.000000        0.0   0.000        0.000
4 1979-04-15      83.75  24.197701      238.0  40.826       20.189