Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向数据帧追加GeoMet API请求_Python_Json_Pandas_Api - Fatal编程技术网

Python 向数据帧追加GeoMet API请求

Python 向数据帧追加GeoMet API请求,python,json,pandas,api,Python,Json,Pandas,Api,我目前正在使用GeoMet API获取天气预报信息。我想将此数据附加到新的熊猫数据框中: print("precipiation layer: ", layer) print((type(forecast_data_list))) print(forecast_data_list) print(type(forecast_data_list[0])) full_forecast_data = {'data': []} index = 0 for forecast_mean

我目前正在使用GeoMet API获取天气预报信息。我想将此数据附加到新的熊猫数据框中:

print("precipiation layer: ", layer)
print((type(forecast_data_list)))
print(forecast_data_list)
print(type(forecast_data_list[0]))

full_forecast_data = {'data': []}
index = 0
for forecast_mean in forecast_data_list:
    forecast_data = {}
    forecast_data['precip_data'] = forecast_mean
    forecast_data['date'] = time[index].strftime("%B %d, %Y")
    forecast_data['utc_time'] = time[index].strftime("%H:%M")
    forecast_data['local_time'] = local_time[index].strftime("%H:%M") #"%d-%m-%Y-%H-%M"
    # add forecast to the list
    full_forecast_data['data'].append(forecast_data)
    index = index + 1

print(type(full_forecast_data))
print(json.dumps(full_forecast_data, sort_keys=False, indent=2))
输出如下所示:

precipiation layer:  REPS.DIAG.3_PRMM.ERMEAN
<class 'list'>
[0.0, 0.0, 0.0, 0.0, 0.0099999998, 0.0, 0.0, 0.0, 0.00084472657, -0.0011035156, 0.099999994, 0.016948242, 0.035, 0.0, 0.0, -0.0011035156, 0.0019482422, 0.006948242, -0.0030517578, 0.0, 0.039999999, 0.0, 0.0, 0.0]
<class 'float'>
<class 'dict'>
{
  "data": [
    {
      "precip_data": 0.0,
      "date": "May 12, 2021",
      "utc_time": "15:00",
      "local_time": "10:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 12, 2021",
      "utc_time": "18:00",
      "local_time": "13:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 12, 2021",
      "utc_time": "21:00",
      "local_time": "16:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "00:00",
      "local_time": "19:00"
    },
    {
      "precip_data": 0.0099999998,
      "date": "May 13, 2021",
      "utc_time": "03:00",
      "local_time": "22:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "06:00",
      "local_time": "01:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "09:00",
      "local_time": "04:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "12:00",
      "local_time": "07:00"
    },
    {
      "precip_data": 0.00084472657,
      "date": "May 13, 2021",
      "utc_time": "15:00",
      "local_time": "10:00"
    },
    {
      "precip_data": -0.0011035156,
      "date": "May 13, 2021",
      "utc_time": "18:00",
      "local_time": "13:00"
    },
    {
      "precip_data": 0.099999994,
      "date": "May 13, 2021",
      "utc_time": "21:00",
      "local_time": "16:00"
    },
    {
      "precip_data": 0.016948242,
      "date": "May 14, 2021",
      "utc_time": "00:00",
      "local_time": "19:00"
    },
    {
      "precip_data": 0.035,
      "date": "May 14, 2021",
      "utc_time": "03:00",
      "local_time": "22:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 14, 2021",
      "utc_time": "06:00",
      "local_time": "01:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 14, 2021",
      "utc_time": "09:00",
      "local_time": "04:00"
    },
    {
      "precip_data": -0.0011035156,
      "date": "May 14, 2021",
      "utc_time": "12:00",
      "local_time": "07:00"
    },
    {
      "precip_data": 0.0019482422,
      "date": "May 14, 2021",
      "utc_time": "15:00",
      "local_time": "10:00"
    },
    {
      "precip_data": 0.006948242,
      "date": "May 14, 2021",
      "utc_time": "18:00",
      "local_time": "13:00"
    },
    {
      "precip_data": -0.0030517578,
      "date": "May 14, 2021",
      "utc_time": "21:00",
      "local_time": "16:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "00:00",
      "local_time": "19:00"
    },
    {
      "precip_data": 0.039999999,
      "date": "May 15, 2021",
      "utc_time": "03:00",
      "local_time": "22:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "06:00",
      "local_time": "01:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "09:00",
      "local_time": "04:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "12:00",
      "local_time": "07:00"
    }
  ]
}
沉积层:REPS.DIAG.3_PRMM.ermen
[0.0, 0.0, 0.0, 0.0, 0.0099999998, 0.0, 0.0, 0.0, 0.00084472657, -0.0011035156, 0.099999994, 0.016948242, 0.035, 0.0, 0.0, -0.0011035156, 0.0019482422, 0.006948242, -0.0030517578, 0.0, 0.039999999, 0.0, 0.0, 0.0]
{
“数据”:[
{
“精确数据”:0.0,
“日期”:“2021年5月12日”,
“utc_时间”:“15:00”,
“当地时间”:“10:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月12日”,
“utc_时间”:“18:00”,
“当地时间”:“13:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月12日”,
“utc_时间”:“21:00”,
“当地时间”:“16:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月13日”,
“utc_时间”:“00:00”,
“当地时间”:“19:00”
},
{
“精确数据”:0.00999998,
“日期”:“2021年5月13日”,
“utc_时间”:“03:00”,
“当地时间”:“22:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月13日”,
“utc_时间”:“06:00”,
“当地时间”:“01:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月13日”,
“utc_时间”:“09:00”,
“当地时间”:“04:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月13日”,
“utc_时间”:“12:00”,
“当地时间”:“07:00”
},
{
“精确数据”:0.00084472657,
“日期”:“2021年5月13日”,
“utc_时间”:“15:00”,
“当地时间”:“10:00”
},
{
“精确数据”:-0.0011035156,
“日期”:“2021年5月13日”,
“utc_时间”:“18:00”,
“当地时间”:“13:00”
},
{
“精确数据”:0.0999994,
“日期”:“2021年5月13日”,
“utc_时间”:“21:00”,
“当地时间”:“16:00”
},
{
“精确数据”:0.016948242,
“日期”:“2021年5月14日”,
“utc_时间”:“00:00”,
“当地时间”:“19:00”
},
{
“精确数据”:0.035,
“日期”:“2021年5月14日”,
“utc_时间”:“03:00”,
“当地时间”:“22:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月14日”,
“utc_时间”:“06:00”,
“当地时间”:“01:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月14日”,
“utc_时间”:“09:00”,
“当地时间”:“04:00”
},
{
“精确数据”:-0.0011035156,
“日期”:“2021年5月14日”,
“utc_时间”:“12:00”,
“当地时间”:“07:00”
},
{
“精确数据”:0.0019482422,
“日期”:“2021年5月14日”,
“utc_时间”:“15:00”,
“当地时间”:“10:00”
},
{
“精确数据”:0.006948242,
“日期”:“2021年5月14日”,
“utc_时间”:“18:00”,
“当地时间”:“13:00”
},
{
“精确数据”:-0.0030517578,
“日期”:“2021年5月14日”,
“utc_时间”:“21:00”,
“当地时间”:“16:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月15日”,
“utc_时间”:“00:00”,
“当地时间”:“19:00”
},
{
“精确数据”:0.03999999,
“日期”:“2021年5月15日”,
“utc_时间”:“03:00”,
“当地时间”:“22:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月15日”,
“utc_时间”:“06:00”,
“当地时间”:“01:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月15日”,
“utc_时间”:“09:00”,
“当地时间”:“04:00”
},
{
“精确数据”:0.0,
“日期”:“2021年5月15日”,
“utc_时间”:“12:00”,
“当地时间”:“07:00”
}
]
}
如何迭代此输出并创建一个新的数据帧,如下所示: (并仅获取日期、UTC时间小时和雨量值)

日期 00:00准时到达 3点准时到达 ... 2021年5月12日 无效的 无效的 ... 2021年5月13日 0 0.009 ... 2021年5月14日 0.016 0.035 ... ... ... ... ...
如果可以将json读入数据帧,则可以执行以下操作:

data = '''{
  "data": [
    {
      "precip_data": 0.0,
      "date": "May 12, 2021",
      "utc_time": "15:00",
      "local_time": "10:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 12, 2021",
      "utc_time": "18:00",
      "local_time": "13:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 12, 2021",
      "utc_time": "21:00",
      "local_time": "16:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "00:00",
      "local_time": "19:00"
    },
    {
      "precip_data": 0.0099999998,
      "date": "May 13, 2021",
      "utc_time": "03:00",
      "local_time": "22:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "06:00",
      "local_time": "01:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "09:00",
      "local_time": "04:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 13, 2021",
      "utc_time": "12:00",
      "local_time": "07:00"
    },
    {
      "precip_data": 0.00084472657,
      "date": "May 13, 2021",
      "utc_time": "15:00",
      "local_time": "10:00"
    },
    {
      "precip_data": -0.0011035156,
      "date": "May 13, 2021",
      "utc_time": "18:00",
      "local_time": "13:00"
    },
    {
      "precip_data": 0.099999994,
      "date": "May 13, 2021",
      "utc_time": "21:00",
      "local_time": "16:00"
    },
    {
      "precip_data": 0.016948242,
      "date": "May 14, 2021",
      "utc_time": "00:00",
      "local_time": "19:00"
    },
    {
      "precip_data": 0.035,
      "date": "May 14, 2021",
      "utc_time": "03:00",
      "local_time": "22:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 14, 2021",
      "utc_time": "06:00",
      "local_time": "01:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 14, 2021",
      "utc_time": "09:00",
      "local_time": "04:00"
    },
    {
      "precip_data": -0.0011035156,
      "date": "May 14, 2021",
      "utc_time": "12:00",
      "local_time": "07:00"
    },
    {
      "precip_data": 0.0019482422,
      "date": "May 14, 2021",
      "utc_time": "15:00",
      "local_time": "10:00"
    },
    {
      "precip_data": 0.006948242,
      "date": "May 14, 2021",
      "utc_time": "18:00",
      "local_time": "13:00"
    },
    {
      "precip_data": -0.0030517578,
      "date": "May 14, 2021",
      "utc_time": "21:00",
      "local_time": "16:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "00:00",
      "local_time": "19:00"
    },
    {
      "precip_data": 0.039999999,
      "date": "May 15, 2021",
      "utc_time": "03:00",
      "local_time": "22:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "06:00",
      "local_time": "01:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "09:00",
      "local_time": "04:00"
    },
    {
      "precip_data": 0.0,
      "date": "May 15, 2021",
      "utc_time": "12:00",
      "local_time": "07:00"
    }
  ]
}'''
jdata = json.loads(data)

df = pd.json_normalize(jdata['data'])
df.drop('local_time', axis=1, inplace=True)
df.set_index('date', inplace=True)
df_pivot = df.pivot(columns=['utc_time'])
输出

             precip_data
utc_time           00:00 03:00 06:00 09:00  12:00 15:00  18:00  21:00
date
May 12, 2021         NaN   NaN   NaN   NaN    NaN 0.000  0.000  0.000
May 13, 2021       0.000 0.010 0.000 0.000  0.000 0.001 -0.001  0.100
May 14, 2021       0.017 0.035 0.000 0.000 -0.001 0.002  0.007 -0.003
May 15, 2021       0.000 0.040 0.000 0.000  0.000   NaN    NaN    NaN