为循环中的每个索引创建DataFrame

问题描述 投票:0回答:1

我正在编写脚本以获取时间序列数据。这个想法是只采用最后一个时间戳和相应的值,并创建一个完整的DataFrame,该数据帧在每个entityId中都包含最后的“ ts”和“ value”。但是,我们在循环中遇到了一个问题,该问题为每一行创建了一个DataFrame(如下所示),即120个DataFrame。理想情况下,应该为1 DataFrame。

所以这是代码:

for i, ids in enumerate(data.id):
    URL2 = baseURL + "TimeValues" + "?entityId=" + ids
    timevalues = requests.get(URL2).json()
    df_timevalues = pd.DataFrame(timevalues)
    filtered_timevalues = df_timevalues.tail(1)
    print(filtered_timevalues)

问题是这个:

                  ts         value
35  2020-04-07T08:15:15Z  23940.300781
                  ts         value
35  2020-04-07T08:45:15Z  10154.099609
                  ts         value
35  2020-04-07T08:49:44Z  7157.200195
pandas dataframe for-loop python-3.7
1个回答
0
投票

您需要将接收到的数据附加到现有数据框:

filtered_timevalues = filtered_timevalues.append(
    df_timevalues, ignore_index=True)
© www.soinside.com 2019 - 2024. All rights reserved.